如何双系统安装win10+arch
本文主是讲双系统安装win10+arch中遇到的坑。简单的步骤会l略过。
一:安装前的准备
1.确定你的主板引导方式和硬盘的分区方式。目前主要有两种模式:
-1. bios+MBR
-2. UEFI+GPT
两种方式决定了你的分区和引导方式的不同。大多数新手都会死在这一步。所以先确定你的电脑硬件是那种方式,非常必要。如果你是第一种情况,则分区时没必要再设置EFI分区,如果是第二种情况,则必须有EFI区,(一般先安装win10时会默认分一个100MB大小的EFI分区,需要把这个分区在windows下先扩容到300MB左右,因为双系统的内核都在这个分区,太小了可能放不下)总之,EFI这个分区的作用是起引导的作用。引导程序grub和多系统的内核都放在这个地方。MBR是以前的主引导方式,只有512kb,引导代码放在MBR内,关于MBR和GPT的区别,请自行百度。后面在安装grub时,会说明两种方式安装参数的区别。
2. 关掉bios里的安全权限设置boot secure=disable,这是主板商家为了主板安全所设置的。
3. u盘无法加载,制作的启动盘有问题,可以用unetbootin从新做盘。u盘名字一定要改成类似ARCH_202002的形式,后面的数字是你要安装的arch版本号。否则安装提示错误。
4. 先安装好win10,留出一些空闲空间给arch,不要格式化。
二:开始安装arch()
# 无线联网
wifi-menu
# 在终端中输入iwctl进入iwd提示符
[root@archiso~] iwctl
# 在[iwd#]中输入device list查询机器的网卡设备
[iwd#] station <devicename> scan # 查询附近可用的wifi网络
[iwd#] station <devicename> get-networks # 显示扫描的结果
输入station <devicename> connect <wifi-ssid>连接wifi网络,如果wifi加密,会提示你输入密码。
# 有线联网
dhcpcd
# 同步时间
timedatectl set-ntp true
# 建立分区(/ , home, swap)
cfdisk
# 格式化分区,并挂载(sdaX,sdaY,sdaZ,sdaK换成你自己对应的分区号)
mkfs.ext4 /dev/sdaX #以ext4方式格式化磁盘为为/分区
mkfs.ext4 /dev/sdaY #以ext4方式格式化磁盘为为home分区
mkdir -p /mnt/boot/#准备挂载EFI分区
mount /dev/sdaX /mnt #挂载/
mount /dev/sdaY /mnt /home #挂载hoem
mount /dev/sdaZ /mnt/boot #挂载EFI
mkswap /dev/sdaK #创建swap分区
swapon /dev/sdaK #启用swap分区
# 查看分区
lsblk
# 编辑添加国内镜像源
vim /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
# 更新镜像源的软件仓库
pacman -Syy
# 安装安装基本操作系统
pacstrap /mnt base base-devel
# 配置基础系统,生成fstab分区表,这样新系统以后就自动挂载分区
genfstab -U /mnt >> /mnt/etc/fstab
# 查看fstab
cat /mnt/etc/fstab
# 切换到新系统
arch-chroot /mnt /bin/bash
# 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 生成/etc/adjtime
hwclock --systohc
# 设置本地语言,找到en_US.UTF-8 UTF-8把前面的注释#去掉
找到zh_CN.UTF-8 UTF-8把前面的注释#去掉
vim /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
# 设置主机名
echo Arch > /etc/hostname
# 添加对应的信息到/etc/hosts
127.0.0.1 localhost
::1 localhost
# 安装grub之前必须做这一步否则会出错
pacman -S linux linux-firmware
# 安装引导安装引导工具
pacman -S dosfstools grub efibootmgr os-prober ntfs-3g
# 安装grub到efi分区(uefi+gpt)注意:双系统安装时,win10已经建立efi分区,所以直接挂载这个分区到
/boot下安装grub即可,
grub-install --target=x86_64-efi --efi-directory=/boot --recheck
# 安装grub到efi分区(bios+mbr),注意是sda,是指那个硬盘,而不是分区。
grub-install /dev/sda
# 配置grub加载内核文件
grub-mkconfig -o /boot/grub/grub.cfg
# 设置root用户密码
passwd
# 添加用户
useradd -m -g users -s /bin/bash 用户名
# 为刚才添加的用户设置密码
passwd 用户名
# 为刚才创建的用户添加sudo权限
vim /etc/sudoers
在 root ALL=(ALL) ALL 下面添加
用户名 ALL=(ALL) ALL
# 有线连接
pacman -S dhcpcd
systemctl enable dhcpcd
# 无线连接
pacman -S iwd
systemctl start iwd.service # 启动服务
systemctl enable iwd.service # 开机自启动服务
systemctl start systemd-resolved.service #必要
还有一种方法,如果你使用iwd来连接的话,iwd内置完善的IP配置服务,直接配置iwd的配置文件即可,编辑/etc/iwd/main.conf文件,然后键入以下内容 :
[General]
EnableNetworkConfiguration=true
在退出chroot重启之前安装或者连网线安装
pacman -S networkmanager
systemctl enable NetworkManager
# 退出chroot重启
exit
umount -R /mnt
reboot
三:arch+i3wm配置
# 安装显卡、声卡驱动
pacman -S xf86-video-amdgpu
pacman -S alsa-utils
#测试声卡
alsamixer
# 每一个声卡有一个card number和一个device number,可以用下面命令显示出来:
aplay -l
# 修改/etc/asound.conf或~/.asoundrc。比如我要把defaults匹配到card 1,device 0上,则添加一下几行:
defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1
# 安装Xorg
pacman -S xorg xorg-apps xorg-xinit
# 安装i3
pacman -S i3-wm i3status i3blocks i3clock
#设置/etc/X11/xinit/xinitrc文件的最一后加上(只能有一个exec)
exec i3
# 安装字体
pacman -S ttf-dejavu wqy-microhei wqy-zenhei
# 加上下面代码在 /etc/pacman.conf 文件末尾添加两行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
#然后请安装 archlinuxcn-keyring 包以导入 GPG key。
pacman -S archlinuxcn-keyring
# 安装google-chrome
pacman -S google-chrome
# wifi的安装与启用
#安装nmcli
sudo apt-get install nmcli
#扫描wifi
sudo nmcli dev wifi
#连接wifi
sudo nmcli dev wifi connect "wifi名" password "密码"
#安装终端模拟器
sudo pacman -S terminator
之后配置i3wm 的按键绑定
#安装中文字体
sudo pacman -S wqy-microhei
# 到这里进行一次配置.config/i3/config,尾部加上
exec i3
#安装输入法
sudo pacman -S fcitx-im fcitx-configtool
sudo pacman -S fcitx-libpinyin
#在I3配置文件.config/i3/config中添加
exec fcitx