這是一篇簡要的總結(jié)性文章涕刚,適用于在UEFI模式下進(jìn)行的Windows10與Archlinux共存性安裝。
一、制作鏡像
注意:不要使用ultraiso制作鏡像盛撑,否則將造成U盤啟動的LOOP,無法進(jìn)入安裝捧搞。
使用rufus寫入鏡像抵卫,切記在最后一步選擇DD鏡像寫入模式,這是ultraiso所不具備的模式胎撇。
二介粘、系統(tǒng)安裝
在windows中劃分出要使用的空白磁盤,關(guān)閉快速啟動晚树,同時在BIOS中禁止SecureBoot姻采,將U盤改為啟動第一順位,即可開始安裝爵憎。
安裝前預(yù)計分區(qū)如下:
- sda8: / 根目錄 (30G)
- sda9:Swap(內(nèi)存*2)
- sda10: / home(剩下的全部空間)
- sda2: 無需/boot慨亲,雙系統(tǒng)狀態(tài)下將共用Windows的EFI分區(qū)作為/boot婚瓜。
進(jìn)入安裝界面,使用如下命令:
lsblk列出磁盤信息
cfdisk進(jìn)行磁盤分區(qū)(注意/dev/sdx不要寫錯)
-
mkfs.ext4 /dev/sda8
-
mkfs.ext4 /dev/sda10
-
mkswap /dev/sda9 && swapon /dev/sda9
掛載新分區(qū)
-
mount /dev/sda8 /mnt
-
mkdir /mnt/home && mkdir -p /mnt/boot/efi
-
mount /dev/sda10 /mnt/home && mount /dev/sda2 /mnt/boot/efi
此時可進(jìn)入/mnt/boot/efi 查看其內(nèi)容:
作者:蘇好鐵鏈接:https://www.zhihu.com/question/22502670/answer/35305955來源:知乎著作權(quán)歸作者所有刑棵。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)巴刻,非商業(yè)轉(zhuǎn)載請注明出處。
2.efi系統(tǒng)分區(qū)(/boot/efi)的結(jié)構(gòu)是這樣的.(efi分區(qū)掛到arch的/boot/efi目錄下)
$ tree /boot/efi -L 4
/boot/efi
└── EFI
├── arch_grub
│ └── grubx64.efi
├── Boot
│ └── bootx64.efi
└── Microsoft
└── Boot
├── BCD
├── BCD.LOG
├── BCD.LOG1
├── BCD.LOG2
├── bg-BG
├── bootmgfw.efi
├── bootmgr.efi
├── BOOTSTAT.DAT
├── boot.stl
├── cs-CZ
├── da-DK
├── de-DE ..... 略去一堆語言的文件蛉签,不重要
其中胡陪,/EFI/Boot/bootx64.efi和/EFI/Microsoft/Boot/bootmgfw.efi是同樣文件的不同命名,在這里下載他們正蛙。
若要修復(fù)win10啟動督弓,用安裝u盤啟動,選擇"修復(fù)計算機", "Troubleshoot", "高級", 選擇命令行乒验,
- bootrec /scanos
- bootrec /rebuildbcd
- bootrec /fixmbr
- bootrec /fixboot
重啟
可見在/efi/EFI文件夾下存在各個系統(tǒng)寫入的啟動項愚隧,UEFI默認(rèn)讀取/BOOT文件夾下的bootx64.efi來啟動,最先安裝的windows將/EFI/Microsoft/Boot/bootmgfw.efi下的efi文件重命名為bootx64.efi并放置到/BOOT下锻全,然而在安裝Linux時Linux也會將自己的efi文件重命名并復(fù)制到/BOOT下,這樣就造成了windows的啟動被覆蓋鳄厌。
(解決方案:照常安裝Linux荞胡,Reboot后再次執(zhí)行
grub-mkconfig -o /boot/grub/grub.cfg
Grub菜單中即可生成Windows啟動項)
此時可考慮提取備份原有EFI分區(qū):
-
mkdir /mnt/home/usb
-
mount /dev/sdx(U盤盤符)& /mnt/home/usb
-
cp -r /boot/EFI /mnt/home/usb
-
umount /dev/sda2 && umount /dev/sdb&
-
mount /dev/sda2 /mnt/boot/EFI
進(jìn)入正式安裝:
nano /etc/pacman.d/mirrorlist ,將tuna源和163源Ctrl+K和Ctrl+U前置即可。
pacman -Syy了嚎,同步源
pacstrap -i base base-devel
genfstab -U -p /mnt >> /mnt/etc/fstab
nano /mnt/etc/fstab檢查fstab文件是否有問題
arch-chroot /mnt /bin/bash切換root
更改/etc/hostname 和/etc/hosts里的主機名
mkinitcpio -p linux
passwd更換密碼
nano /etc/locale.gen泪漂,反注釋en_US-UTF8,zh_CN-UTF8歪泳,zh_CN-GBK,
locale-gen
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 注意:這里如果不使用-f萝勤,將提示file exists錯誤。
hwclock --localtime設(shè)置系統(tǒng)時間為當(dāng)?shù)貢r間 呐伞,與windows保持一致
為了之后能連上網(wǎng)絡(luò)敌卓,安裝:
pacman -S dialog
pacman -S wpa_supplicant
pacman -S netctl
pacman -S wireless_tools
pacman -S grub
pacman -S efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=arch_grub --recheck 將Grub裝到EFI分區(qū)
cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo 復(fù)制語言文件
pacman -S os-prober
grub-mkconfig -o /boot/grub/grub.cfg此時如果提示沒有找到windows系統(tǒng),就在重啟之后再次執(zhí)行
基本上安裝完成
exit
umount -R /mnt強制解除掛載伶氢,否則提示busy
reboot(此時拔掉U盤)
重啟之后趟径,以root和之前設(shè)置的密碼登錄,
可以按照之前的步驟連接到wifi癣防,
新建一個日常使用的非root賬戶:
useradd -m -G wheel -s /bin/bash YourName
passwd Yourname
nano /etc/sudoers蜗巧,去掉%wheel ALL=(ALL) ALL這一行之前的注釋,可以使用sudo來完成臨時提升權(quán)限
hwclock --systohc --localtime
開啟Multilib:
去掉/etc/pacman.conf下的注釋:
[multilib]
Include=/etc/pacman.d/mirrorlist
之后# pacman -Syy
安裝Yaourt以使用AUR:
#pacman -S git
git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..
系統(tǒng)安裝完成劣砍。