win10&archlinux双系统安装教程
### 修改分区挂载部分内容,解决找不到 Windows10 条目的问题 --2019-07-22
我的笔记本配置为 500G 机械硬盘 + i5处理器 + 4G RAM + AMD R5 M230
配置基本上算是比较 LJ 的办公电脑了,不过日常使用还是绰绰有余的啦
首先你需要安装 win10 建议你格式化硬盘全新安装(新的开始麻),分区以我为例,C盘100G D盘100G E盘100G
win10的具体安装过程就不说了,十分简单,在 msdn itell you 下载你需要的版本,解压到U盘就可以傻瓜安装了
如果你以前没有接触过安装双系统的话,你需要在安装好win10后查看系统信息,系统信息中你需要关注的是: BIOS模式是否为UEFI 安全启动是否关闭
只要不是特别老的电脑BIOS模式都是UEFI
安装双系统的时候你需要使安全启动保持关闭状态,否则会安装失败,如果你的安全启动是开启状态你就需要手动进入固件关闭它,具体步骤也不再赘述
这里详述archlinux的安装
win10安装好后,你应该还有足够的空间留给archlinux
如果你在安装win10的向导界面就像我那样分好区后,应该还有150G左右的空闲空间,如果当时你没有分区那么你需要在win10的磁盘管理中压缩出150G的空间,总而言之就是你需要150G(具体大小自己来定)的空闲硬盘空间
之后你需要一个archlinux的镜像,镜像可以在官网下载也可以在国内的镜像站下载(这里我建议就在国内的镜像站下载,例如网易镜像站速度也比较快)
有了archlinux镜像后你就可以制作U盘启动盘了,我用的是rufus工具在win10下制作的archlinux的U盘启动盘
制作好启动盘后就可以插到电脑上重启电脑,使用U盘启动,进入U盘启动后会看到这样的界面
进入第一项后会出现
1 root@archiso ~ #
这之后开始真正的安装过程
一 联网
我是用手机USB连接电脑后开启USB网络共享就能直接上网了(不行的话再执行命令dhcpcd),这应该是最简单的方法吧,当然你需要检查一下是否真的连上网了,使用命令:
ping www.baidu.com
网络正常的话可以看到类似下面的输出(出现下面的输出后就可以按组合键Ctrl c取消输出了,不然它会一直运行下去)
PING baidu.com (123.125.115.110) 56(84) bytes of data. 64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=1 ttl=47 time=87.1 ms 64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=2 ttl=47 time=85.10 ms 64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=3 ttl=47 time=88.3 ms 64 bytes from 123.125.115.110 (123.125.115.110): icmp_seq=4 ttl=47 time=96.0 ms
二 时间同步
root@archiso ~ # timedatectl set-ntp true
三 硬盘分区
root@archiso ~ # fdisk -l
fdisk命令会显示你的设备文件系统类型和大小等相关信息(这里需要关注下输出类型那一列中 EFI 系统的设备号,那个是win10的EFI分区是由win10安装的时候自动生成的一般为100M 接下来会挂载它)
现在就可以按照你的需求来分区了,使用下面的命令进行分区(因为我只有一块硬盘所以是对sda分区,如果你有其他的硬盘换成对应的名称就行,另外我发现使用cfdisk代替cgdisk命令也可以用,用哪个自己看吧)
root@archiso ~ # cgdisk /dev/sda
cgdisk命令提供一个比较友好的用户界面,你可以很清楚地看见硬盘的哪些空间是空闲的,哪些空间已经被占用了以及被格式化成哪种格式了
这里需要谨慎操作不要把你刚才安装win10的空间给格式化了,下面是我安装好双系统后的我的电脑的硬盘分区
Disk /dev/sda:465.78 GiB,500107862016 字节,976773168 个扇区
磁盘型号:TOSHIBA MQ01ABF0
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:63017E0A-8092-44C1-8927-70B1A7E41FAB
设备 起点 末尾 扇区 大小 类型
/dev/sda1 2048 1023999 1021952 499M Windows 恢复环境
/dev/sda2 1024000 1228799 204800 100M EFI 系统
/dev/sda3 1228800 1261567 32768 16M Microsoft 保留
/dev/sda4 1261568 167747793 166486226 79.4G Microsoft 基本数据
/dev/sda5 167749632 169523199 1773568 866M Windows 恢复环境
/dev/sda6 169525248 337543167 168017920 80.1G Microsoft 基本数据
/dev/sda7 337543168 505479167 167936000 80.1G Microsoft 基本数据
/dev/sda8 505479168 506503167 1024000 500M EFI 系统
/dev/sda9 506503168 674275327 167772160 80G Linux 文件系统
/dev/sda10 674275328 883990527 209715200 100G Linux 文件系统
sda4 sda6 sda7分别对应我的win10的C盘,D盘,E盘
sda10,sda8,sda9是我在安装archlinux时创建的分区
sda8是 /boot 分区 建议150~200M EFI system
sda9是 / 分区 建议20G~50G Linux filesystem
sda10是 /home 分区 能分多少分多少 Linux filesystem
关于swap分区在个人电脑上应该是可有可无的,后期创建也很简单,我就没使用swap分区了
分区结束后你需要格式化刚才的分区为对应的文件系统,以我的为例。(不要照抄我的sda号码,你要根据自己的实际分区对应格式化)
root@archiso ~ # mkfs.ext4 /dev/sda10 root@archiso ~ # mkfs.vfat /dev/sda8
root@archiso ~ # mkfs.ext4 /dev/sda9
四 分区挂载
首先挂载刚才创建的 / 分区
root@archiso ~ # mount /dev/sda9 /mnt
新建 /boot 文件夹
root@archiso ~ # mkdir /mnt/boot
挂载 /boot 分区
root@archiso ~ # mount /dev/sda8 /mnt/boot
挂载Windows10 的EFI分区(不挂载后面可能会找不到Windows相关条目)
新建 /boot/efi-win 文件夹
root@archiso ~ # mkdir /mnt/boot/efi-win
挂载Windows的EFI分区(这里的 sda2 是我的win10的EFI分区,你的和我的应该不一样)
root@archiso ~ # mount /dev/sda2 /mnt/boot/efi-win
新建 home 文件夹
root@archiso ~ # mkdir /mnt/home
挂载 /home 分区
root@archiso ~ # mount /dev/sda10 /mnt/home
五 更改软件源
root@archiso ~ # nano /etc/pacman.d/mirrorlist GNU nano 2.7.0 File: /etc/pacman.d/mirrorlist ## ## Arch Linux repository mirrorlist ## Sorted by mirror score from mirror status page ## Generated on 2016-10-01 ## ## Score: 0.2, France Server = http://archlinux.polymorf.fr/$repo/os/$arch ## Score: 0.3, France Server = http://arch.tamcore.eu/$repo/os/$arch ## Score: 0.3, Germany Server = http://mirrors.cicku.me/archlinux/$repo/os/$arch ## Score: 0.3, Czech Republic Server = http://ftp.sh.cvut.cz/arch/$repo/os/$arch ## Score: 0.3, Germany Server = http://mirror.js-webcoding.de/pub/archlinux/$repo/os/$arch ## Score: 0.4, Netherlands Server = http://ftp.nluug.nl/os/Linux/distr/archlinux/$repo/os/$arch ## Score: 0.4, Poland [ Read 517 lines ] ^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos ^Y Prev Page ^X Exit ^R Read File ^\ Replace ^U Uncut Text ^T To Spell ^_ Go To Line ^V Next Page
国外的软件源比较慢或者根本就连接不上,所以需要添加国内的源,将以下内容加在 /etc/pacman.d/mirrorlist 的最前面(#表示注释,下面的三个选一个加在文件的第一行就行了)
# 清华大学 TUNA 协会
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
# 中国科学技术大学
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
# 西安交通大学
Server = https://mirrors.xjtu.edu.cn/archlinux/$repo/os/$arch
然后按组合键Ctrl o保存,再按Ctrl x退出
更新软件包数据库
root@archiso ~ # pacman -Syy :: Synchronizing package databases... core 120.9 KiB 4.92M/s 00:00 [##################################] 100% extra 1755.6 KiB 5.24M/s 00:00 [##################################] 100% community 3.7 MiB 6.82M/s 00:01 [##################################] 100%
六 安装基本系统
使用 pacstrap 安装基本系统
root@archiso ~ # pacstrap /mnt base base-devel
生成 fstab
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab
进入新系统(chroot)
root@archiso ~ # arch-chroot /mnt /bin/bash
设置新安装的基本系统
1 设置时区(中国的时区是 Asia/Shanghai)
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2 设置时间标准 为 UTC
hwclock --systohc --utc
3 设置语言
去掉文中下面三行前面的 #
# nano /etc/locale.gen en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8
4 执行 locale-gen 以生成 locale 信息
locale-gen
5 将系统locale设置为英文(此时不要设置为中文,因为会出现乱码)
echo LANG=en_US.UTF-8 > /etc/locale.conf
6 设置自己的主机名(用你喜欢的主机名替换下面的myhostname)
echo myhostname > /etc/hostname
7 设置 root 的密码(输入密码的时候屏幕不会显示内容,正常输入就好了)
[root@archiso /]# passwd New password: Retype new password: passwd: password updated successfully
8 安装启动管理器(下面的都很重要啦,涉及到你能否正常开机)
pacman -S efibootmgr dosfstools
pacman -S grub os-prober
9 安装grub到硬盘
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
EFI安装成功后会有下面的显示内容
[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck Installing for x86_64-efi platform. Installation finished. No error reported.
10 生成配置文件
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-linux Found initrd image(s) in /boot: initramfs-linux.img Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img WARNING: Failed to connect to lvmetad. Falling back to device scanning. done
从上面的输出提示中可以看见并没有windows的信息条目,不用担心,此时重启以下你的电脑在执行一次第10步就可以了(其实我重启后也不行,第二次重启后再次执行才找到了windows的信息)
七 安装gnome桌面环境
1 首先安装桌面环境基本包
pacman -S xorg
这时会让你选择需要哪些软件包,不清楚的话直接按Enter默认就行
2 安装gnome(要安装gnome全家桶的话可以在加上gnome-extras)
pacman -S gnome
3 安装网络管理器
pacman -S networkmanager
4 安装中文字体
pacman -S wqy-microhei wqy-zenhei
5 新建一个用户(hello就是用户名,可以自己更改)
useradd -m -s /bin/bash hello
6 为新用户设置密码
passwd hello
7 启用gdm桌面管理器
systemctl enable gdm
8 启用networkmanager(注意大小写)
systemctl enable NetworkManager
9 退出chroot环境
exit
10 卸载挂载的分区
umount -R /mnt
然后..............
重新启动就能正常进入桌面环境了