ArchLinux與windows10共存安裝

這是一篇簡要的總結性文章,適用于在UEFI模式下進行的Windows10與Archlinux共存性安裝。

一、制作鏡像

注意:不要使用ultraiso制作鏡像,否則將造成U盤啟動的LOOP,無法進入安裝。

使用rufus寫入鏡像,切記在最后一步選擇DD鏡像寫入模式,這是ultraiso所不具備的模式。

二、系統(tǒng)安裝

在windows中劃分出要使用的空白磁盤,關閉快速啟動,同時在BIOS中禁止SecureBoot,將U盤改為啟動第一順位,即可開始安裝。

安裝前預計分區(qū)如下:

  • sda8: / 根目錄 (30G)
  • sda9:Swap(內(nèi)存*2)
  • sda10: / home(剩下的全部空間)
  • sda2: 無需/boot,雙系統(tǒng)狀態(tài)下將共用Windows的EFI分區(qū)作為/boot。
    進入安裝界面,使用如下命令:

lsblk列出磁盤信息

cfdisk進行磁盤分區(qū)(注意/dev/sdx不要寫錯)

  1. mkfs.ext4 /dev/sda8

  2. mkfs.ext4 /dev/sda10

  3. mkswap /dev/sda9 && swapon /dev/sda9

掛載新分區(qū)

  1. mount /dev/sda8 /mnt

  2. mkdir /mnt/home && mkdir -p /mnt/boot/efi

  3. mount /dev/sda10 /mnt/home && mount /dev/sda2 /mnt/boot/efi

此時可進入/mnt/boot/efi 查看其內(nèi)容:

作者:蘇好鐵鏈接:https://www.zhihu.com/question/22502670/answer/35305955來源:知乎著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。

2.efi系統(tǒng)分區(qū)(/boot/efi)的結構是這樣的.(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是同樣文件的不同命名,在這里下載他們。

若要修復win10啟動,用安裝u盤啟動,選擇"修復計算機", "Troubleshoot", "高級", 選擇命令行,

  1. bootrec /scanos
  2. bootrec /rebuildbcd
  3. bootrec /fixmbr
  4. bootrec /fixboot
    重啟

可見在/efi/EFI文件夾下存在各個系統(tǒng)寫入的啟動項,UEFI默認讀取/BOOT文件夾下的bootx64.efi來啟動,最先安裝的windows將/EFI/Microsoft/Boot/bootmgfw.efi下的efi文件重命名為bootx64.efi并放置到/BOOT下,然而在安裝Linux時Linux也會將自己的efi文件重命名并復制到/BOOT下,這樣就造成了windows的啟動被覆蓋。

(解決方案:照常安裝Linux,Reboot后再次執(zhí)行

grub-mkconfig -o /boot/grub/grub.cfg

Grub菜單中即可生成Windows啟動項)

此時可考慮提取備份原有EFI分區(qū):

  1. mkdir /mnt/home/usb

  2. mount /dev/sdx(U盤盤符)& /mnt/home/usb

  3. cp -r /boot/EFI /mnt/home/usb

  4. umount /dev/sda2 && umount /dev/sdb&

  5. mount /dev/sda2 /mnt/boot/EFI

進入正式安裝:

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設置系統(tǒng)時間為當?shù)貢r間 ,與windows保持一致

為了之后能連上網(wǎng)絡,安裝:

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 復制語言文件

pacman -S os-prober

grub-mkconfig -o /boot/grub/grub.cfg此時如果提示沒有找到windows系統(tǒng),就在重啟之后再次執(zhí)行

基本上安裝完成

exit

umount -R /mnt強制解除掛載,否則提示busy

reboot(此時拔掉U盤)

重啟之后,以root和之前設置的密碼登錄,

可以按照之前的步驟連接到wifi,

新建一個日常使用的非root賬戶:

useradd -m -G wheel -s /bin/bash YourName

passwd Yourname

nano /etc/sudoers,去掉%wheel ALL=(ALL) ALL這一行之前的注釋,可以使用sudo來完成臨時提升權限

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)安裝完成。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容