先阅读
wiki.archlinux.org:
network
partitioning
ssd
btrfs
grub
安装准备
制作安装盘
dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
验证启动模式,是否进入UEFI
ls /sys/firmware/efi/efivars
联网
会自动连接DHCP
有线网,使用ping工具验证
其他配置方式使用netctl
:
先停止dhcpcd@interface.service
有线网
- 进入
/etc/netctl
复制examples
文件夹中相应的文件出来并配置好 netctl start xxx
无线网
使用wifi-menu
交互式工具配置,加-o
参数可以加密密码,系统安装完可以直接复制进去
更新系统时间
timedatectl set-ntp true
分区
/, /usr, /boot/efi, /home, /var
如有多系统共享媒体文件可以挂载开辟媒体文件分区
- 使用
fdisk /dev/sdx
进入交互模式 - 创建GPT分区表 (g)
- 如果没有 EFI 分区就创建类型为
EFI System
的EFI分区,一般260M (n,t) - 创建类型为
Linux root (x86-64)
的/
根分区 - 创建
/usr, /boot/efi, /home, /var
分区 - 验证分区是否对齐
parted /dev/sda align-check optimal 2
格式化
格式化前分区需要处于未挂载状态
mkfs.fstype /dev/partition
mkfs.fat -F32 $efi
mkfs.reiserfs $var
挂载
创建目录并挂载
用hdparm -I /dev/sdx | grep TRIM
检测固态硬盘分区是否支持TRIM,如果支持要加discard
参数
btrfs: mount -o compress=lzo,noatime /dev/sdxY /mnt/
,genfstab后检查compress=lzo,noatime
属性
安装
vim /etc/pacman.d/mirrorlist
pacstrap /mnt base base-devel vim
配置
genfstab -U -p /mnt >> /mnt/etc/fstab
,检查fstab的compress=izo,noatime,discard
, /usr分区的passno设为0
arch-chroot /mnt
vim /etc/mkinitcpio.conf
,HOOKS加入usr
来使用单独/usr分区,加入btrfs
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc
vim /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo $hostname > /etc/hostname
pacman -S iw wpa_supplicant dialog grub efibootmgr intel-ucode
grub-install --target=x86_64-efi --efi-directory=$esp --bootloader=archlinux
grub-mkconfig -o /boot/grub/grub.cfg
cp $esp/EFI/archlinux/grubx64.efi $esp/EFI/boot/bootx64.efi
pacman -S btrfs-progs
后会自动mkinitcpio -p linux
passwd
exit
来退出chroot
umount -R /mnt
reboot
并用root帐号密码登陆
如果发现Windows 改变了启动次序,先检查UEFI中“安全启动”和windows中“快速启动”没有被启用,UEFI中启动顺序是否设置为“Linux Boot Manager"先于"Windows Boot Manager",如果还是无法直接启动Linux,就启动到windows并管理员权限运行CMD执行bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi
useradd -mg users -G wheel $username
passwd $username
visudo
install archlinux on usb
windows只能识别第一个分区,所以如果以后要用在window上,数据分区要是第一个分区
新建 gpt
分区表,uefi 只支持 gpt 分区表
创建数据分区
创建 100M efi 类型分区 ,分区代号EF00
,flags boot,esp
创建 1M bios 类型分区,分区代号EF02
,flags bios_grub
mkfs.exfat /dev/sdX1
或者 mkfs.ntfs /dev/sdX1
mkfs.fat -F32 /dev/sdX2
mkfs.ext4 -O "^has_journal" /dev/sdX4
正常安装 archlinux
pacman -S networkmanager xf86-video-vesa xf86-video-ati xf86-video-intel xf86-video-nouveau xf86-input-synaptics
修改 /etc/mkinitcpio.conf
将block
添加到紧挨udev
的后面. 只有这样早期用户空间才能正确的装入模块
使用 fallback
内核可以获得最大的兼容性
mkdir /etc/systemd/journald.conf.d
echo -e '[Journal]\nStorage=volatile\nRuntimeMaxUse=30M' > /etc/systemd/journald.conf.d/usbstick.conf
grub-install --target=i386-pc --recheck --boot-directory=/boot /dev/sdX
grub-install --target=x86_64-efi --recheck --efi-directory=/boot/efi/ --removable