您的位置:首页 > 运维架构 > Linux

win10与archlinux(UEFI+GPT)双系统

2015-11-02 10:56 741 查看
win10安装

------------------------------------------------------------------------

原版win10安装这里不用多说。

我的版本是win10英文企业版。

archlinux安装

----------------------------------------------------------------------------------

一、镜像制作

镜像参考

usb启动参考

我选择的是usbwriter,直接在win10下写入arch镜像到U盘。

二、分区

------------------------------------------

  /dev/sda1 WIN10 保留分区

  /dev/sda2 WIN10 ESP分区(EFI)

  /dev/sda3 WIN10 主分区(win10)

  /dev/sda4 WIN10

  /dev/sda5 WIN10

  /dev/sda6 WIN10 

  /dev/sda7 WIN10 

  /dev/sda8   /

  /dev/sda9   swap

  /dev/sda10  /home

-----------------------------------------

你可以选择在安装的时候用fdisk或者gdisk等分区,也可以在windows下直接用软件先分好。

三、创建文件系统

# mkfs.ext4 /dev/sda8
# mkfs.ext4 /dev/sda10
# mkswap /dev/sda9 && swapon /dev/sda9
挂载新分区
#mount /dev/sda8 /mnt
#mkdir /mnt/home && mkdir -p /mnt/boot/EFI
#mount /dev/sda10 /mnt/home && mount /dev/sda2 /mnt/boot/EFI


四、挂载 WIN EFI(/dev/sda2)分区 并提取 WIN EFi 文件 以及格式挂载 /boot/EFI

准备一个U盘存放WIN EFI文件

#mkdir /mnt/home/usb
#mount /dev/sdb& /mnt/home/usb
#cp -r /boot/EFI/EFI/Microsoft /mnt/home/usb
#umount /dev/sda2 && umount /dev/sdb&
#mount /dev/sda2 /mnt/boot/EFI



五、基础系统的安装与基本配置

#nano /etc/pacman.d/mirrorlist
#pacstrap -i /mnt base base-devel
#genfstab -U -p /mnt >> /mnt/etc/fstab
#arch-chroot /mnt /bin/bash 主机名
#echo <主机名> > /etc/hostname
#将<主机名>添加至 /etc/hosts
#mkinitcpio -p linux
#passwd
<span id="_xhe_cursor">
</span>


六、安装引导器

# 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启动项

官方参考

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

#nano /boot/grub/grub.cfg
if [ "${grub_platform}" == "efi" ]; then
menuentry "Microsoft Windows 10 x86_64 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root $hints_string $uuid
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
fi


$hints_string 和 $uuid可以通过以下命令获取:

$uuid:

# grub-probe --target=fs_uuid $esp/EFI/Microsoft/Boot/bootmgfw.efi
1ce5-7f28

$hints_string:

# grub-probe --target=hints_string $esp/EFI/Microsoft/Boot/bootmgfw.efi
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1

这两个命令都是假设ESP挂载在$esp上.当然,Windows的EFI文件路径可能有变,因为这就是Windows....

以下两个启动项可以选择性添加,不添加也没事。

"Shutdown" 启动项

menuentry "System shutdown" {
echo "System shutting down..."
halt
}

"Restart" 启动项

menuentry "System restart" {
echo "System rebooting..."
reboot
}
现在重启系统你可以看到你的双系统了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息