美文网首页
ArchLinux与windows10共存安装

ArchLinux与windows10共存安装

作者: 橙子是气球杀手 | 来源:发表于2017-09-26 10:50 被阅读0次

    这是一篇简要的总结性文章,适用于在UEFI模式下进行的Windows10与Archlinux共存性安装。

    一、制作镜像

    注意:不要使用ultraiso制作镜像,否则将造成U盘启动的LOOP,无法进入安装。

    使用rufus写入镜像,切记在最后一步选择DD镜像写入模式,这是ultraiso所不具备的模式。

    二、系统安装

    在windows中划分出要使用的空白磁盘,关闭快速启动,同时在BIOS中禁止SecureBoot,将U盘改为启动第一顺位,即可开始安装。

    安装前预计分区如下:

    • sda8: / 根目录 (30G)
    • sda9:Swap(内存*2)
    • sda10: / home(剩下的全部空间)
    • sda2: 无需/boot,双系统状态下将共用Windows的EFI分区作为/boot。
      进入安装界面,使用如下命令:

    lsblk列出磁盘信息

    cfdisk进行磁盘分区(注意/dev/sdx不要写错)

    1. mkfs.ext4 /dev/sda8

    2. mkfs.ext4 /dev/sda10

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

    挂载新分区

    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 查看其内容:

    作者:苏好铁链接:https://www.zhihu.com/question/22502670/answer/35305955来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    2.efi系统分区(/boot/efi)的结构是这样的.(efi分区挂到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文件夹下存在各个系统写入的启动项,UEFI默认读取/BOOT文件夹下的bootx64.efi来启动,最先安装的windows将/EFI/Microsoft/Boot/bootmgfw.efi下的efi文件重命名为bootx64.efi并放置到/BOOT下,然而在安装Linux时Linux也会将自己的efi文件重命名并复制到/BOOT下,这样就造成了windows的启动被覆盖。

    (解决方案:照常安装Linux,Reboot后再次执行

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

    Grub菜单中即可生成Windows启动项)

    此时可考虑提取备份原有EFI分区:

    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设置系统时间为当地时间 ,与windows保持一致

    为了之后能连上网络,安装:

    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分区

    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系统,就在重启之后再次执行

    基本上安装完成

    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 ..
    

    系统安装完成。

    相关文章

      网友评论

          本文标题:ArchLinux与windows10共存安装

          本文链接:https://www.haomeiwen.com/subject/feqsextx.html