win10 uefi 模式装archlinux

如果你的win10不是uefi启动模式,请看https://www.phpstu.com/operatingsystem/783 把系统转成 uefi模式(无损不丢失数据)


我用的archlinux是2018.1.1版本的 http://mirrors.163.com/archlinux/iso/2018.01.01/

使用PowerISO做的启动U盘,电脑是thinkpad t430 120G固态硬盘 + 500G 机械硬盘 其中 固态硬盘装的是win10系统  机械硬盘的最后一个分区120G来装archlinux (在磁盘管理里面删除 最后一个分区,不分配盘符)


把U盘插入电脑,启动时候选择u盘启动 ,然后选择arch 第一项进入arch


第一:WIFI联网 (有线的方法自己找https://wiki.archlinux.org/index.php/Installation_guide)


# iwconfig   这个命令会显示当前的网卡,找到w开头的那个就是无线网卡了,我的是wlp3s0。
# wifi-menu wlp3s0  连接WIFI,执行后选择你的SSID,输入密码就可以上网了。
# ping www.phpstu.com 测试一下~~按Ctrl+C中断。

第二,创建用来安装archlinux的分区,创建完成如下(具体情况具体分析,我们的路径并不会完全一样)


下图的/dev/sda7是我用来安装archlinux的 ext4格式的,到直接挂载到linux的跟分区

第三。挂载根分区和efi分区,备份win10引导


  1. #mount /dev/sda7  /mnt
  2. #mkdir /mnt/home && mkdir -p /mnt/boot/EFI
  3. /dev/sdb1下面存的是win10的引导文件
  4. #mount /dev/sdb1  /mnt/boot/EFI

创建一个目录 来存放win10的引导文件,这一步一定要做,一旦丢失,win10算彻底进不去了

  1. #mkdir /mnt/home/usb
  2. 插入你的新U盘 用fdisk -l 确定下新插入U盘的路径并挂载到/mnt/home/usb目录上 我装的时候是 /dev/sdd4
  3. #mount /dev/sdd4 /mnt/home/usb
  4. 拷贝win10引导到usb 拷贝玩之后 卸载USB
  5. #cp -r /mnt/boot/EFI/EFI/Microsoft /mnt/home/usb
  6. #umount /dev/sdd4

第四、安装基本系统


安装基本包
打开mirrorlist文件,把中国的镜像服务器地址放(剪切)到前面(搜China)。编辑器可以选nano或是vi
#vi /etc/pacman.d/mirrorlist

开始安装,只装base部分,其它的能启动起来以后再说吧。
#pacstrap -i /mnt base

编辑fstab
把当前的mount状态复制到fstab里
#genfstab -U -p /mnt >> /mnt/etc/fstab
记得打开/mnt/etc/fstab瞧瞧对不对,建议把EFI的那行最后的数字改成0,不让每次都磁盘检查。(图片中efi没有改,每次启动都要检测几十秒,,呵呵。。)

把/mnt作为新的根目录
#arch-chroot /mnt

时区,编码
打开locale.gen文件,把en_US.UTF-8, zh_CN.UTF-8, zh_CN.GBK前面的#去掉。
#vi /etc/locale.gen

运行locale-gen命令,重建编码表。
#locale-gen

生成localtime的软链就算设置时区了。
#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置系统时间是当地时间,Linux默认是UTC时间,Windows默认是当地时间,改成一致。
#hwclock –localtime

设置电脑名
#echo ArchHost > /etc/hostname

我用的是WIFI,为了重启后能用上网络,下面这几个工具要装上先(有些可能已经装上了)。ArchLinux用的是pacman命令装软件的。
#pacman -S dialog wpa_supplicant netctl wireless_tools

安装引导器
#pacman -S grub efibootmgr
#grub-install –target=x86_64-efi –efi-directory=/boot/EFI –bootloader-id=arch_grub –recheck

重新生成引导文件
# grub-mkconfig -o /boot/grub/grub.cfg
# exit
# umount -R /mnt
# reboot

第五、添加win10引导(还记得备份的win10启动引导文件吗?)

把刚才存放 EFI U盘 挂载到/home/usb 并拷贝 microsoft 文件到 /boot/EFI/EFI/ 目录下

#mount /dev/sdd4 /home/usb
#cp -r /home/usb/Microsoft /boot/EFI/EFI/

下面的操作是参考这里 https://wiki.archlinux.org/index.php/GRUB_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#.E7.94.9F.E6.88.90GRUB.E9.85.8D.E7.BD.AE.E6.96.87.E4.BB.B6

首先我在另外一台电脑上面写这个 然后通过U盘复制到安装电脑上,

用 cat win10.txt >> /etc/grub.d/40_custom

把下面代码追加到

menuentry "Win10" {
echo "Loading Microsoft Windows 10..."
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 61BC-382E
chainloader /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi
}

/etc/grub.d/40_custom 里面

上面红色和蓝色字 生成方式(每个人都不一样):
执行:得到 蓝色字部分
#grub-probe –target=fs_uuid /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi
执行:得到红色字部分,执行结果很长,拷贝不容易,可以对比下,差异只是=后的值
#grub-probe –target=hints_string 、boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

然后重新生成引导文件
#grub-mkconfig -o /boot/grub/grub.cfg

然后重启系统就可以选择win10启动了

未经允许不得转载:开心乐窝-乐在其中 » win10 uefi 模式装archlinux

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏