Arch&Win10双磁盘双系统安装及相关知识

双系统

前置

win10 安装在第一块磁盘且有第二块磁盘

分区

以50G硬盘大小为例,使用cfdisk /dev/sda命令进行分区:其中boot分区2G,交换分区4G,剩下全部分配给根目录。分区后完整目录如下:
/dev/sda1 2G
/dev/sda2 4G
/dev/sda3 44G
然后是格式化和挂载。注:挂载时需先挂载根目录,然后创建/mnt/boot目录,再将其挂载到/dev/sda3上。

cfdisk /dev/sda
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda3
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
# 开启交换分区
mkswap /dev/sda2
swapon /dev/sda2
Install
vim /etc/pacman.d/mirrorlist
# 删除原来的镜像源,添加清华源
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
# 开始安装
pacstrap /mnt base base-devel linux linux-firmware sudo vim git dhcpcd
genfstab -U /mnt >> /mnt/etc/fstab
Grub
arch-chroot /mnt
pacman -S grub 
pacman -S os-prober efibootmgr
os-prober
grub-install --target=x86_64-efi --efi-directory=/boot
mkinitcpio -P
grub-mkconfig -o /boot/grub/grub.cfg
Reboot
pacman -S intel-ucode
passwd
systemctl enable dhcpcd.service
exit
umount -R /mnt
reboot
Configuration
vim /etc/pacman.conf ## 添加如下语句

[archlinuxcn]
Include = /etc/pacman.d/archlinuxcn-mirrorlist

在 /etc/pacman.d/ 下新建 archlinuxcn-mirrorlist 文件并添加阿里源等,如下

\#\# 阿里源
Server = http://mirrors.aliyun.com/archlinuxcn/$arch

配置完成之后继续安装:

pacman -Syy
pacman -S archlinuxcn-keyring  ## 如果报错“could not be locally signed...”执行下面命令
# 以下内容为修复arch keyring有问题的操作,如果-Syy过程中没有报错则可忽略
# pacman -Syu haveged
# systemctl start haveged
# systemctl enable haveged

# rm -fr /etc/pacman.d/gnupg
# pacman-key --init
# pacman-key --populate archlinuxcn

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

# 编辑本地化文件,将"en_US.UTF-8" 和 "zh_CN.UTF-8"前面的“#”去掉,其它选项根据自己需要来定,这两个为英文和中文
vim /etc/locale.gen
locale-gen

echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "chappy" > /etc/hostname

vim /etc/hosts
127.0.0.1	localhost
::1	localhost
127.0.1.1	chappy.localdomain chappy

pacman -S wqy-microhei

添加用户

useradd -m -G wheel tdl
passwd tdl

默认没有安装vi,无法执行visudo命令,解决办法为将 vim 软链接到 vi

ln -s /usr/bin/vim /usr/bin/vi
visudo ## 解注掉 %wheel 行,保存退出

安装xorg

pacman -S xorg-server xorg-xinit xorg-apps

切换到普通用户

mkdir Desktop
git clone http://git.suckless.org/dwm
git clone http://git.suckless.org/st
git clone http://git.suckless.org/dmenu
cd ~/Desktop/dwm
make
sudo make clean insall
cd ~/Desktop/st
make 
sudo make clean install
cd ~/Desktop/dmenu
make
sudo make clean install
cp /etc/X11/xinit/xinitrc ~/.xinitrc
vim ~/.xinitrc ## 删除最后xterm相关的几行,添加下面语句后保存退出
exec dwm
startx
Q&A

1.安装以后重新启动,发现Grub引导界面只有 Arch 引导项,没有 windows !而且在安装Grub的过程(grub-mkconfig操作)中,确实没有类似“Found Microsof Windows…”的输出信息,所以在 Grub 引导界面可能会看不到 Windows Manager 选项,需要手动修复一下。

首先查看ESP分区的uuid(即windows 的EFI分区,如/dev/sd2:UUID=“2841-1E44”)

blkid ##或输入blkid /dev/<ESP所在磁盘,例如sda、sdb、nvm0>

使用root用户登录Archlinux,通过以下命令编辑 Grub 的配置文件

vim /boot/grub/grub.cfg

追加如下内容:

menuentry 'Microsoft Windows 10' {
	innmod part_get
	insmod fat #一般填fat,不要填vfat
	insmod chain
	search --fs-uuid --set=root xxxx-xxxx ## 这里填上ESP分区的UUID
	chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

保存后重启,成功!

2.正常安装是没有问题的,上面提到的执行 os-prober 未找到 windows 系统的问题原因是因为 Grub 默认配置 GRUB_DISABLE_OS_PROBER=false这行被注释掉了,即默认不进行系统探测,在/etc/default/grub文件中找到这一行,将前面的“#”去掉,然后再次执行 os-prober 和 grub-mkconfig -o /boot/grub/grub.cfg 即可!

## /etc/default/grub
GRUB_DISABLE_OS_PROBER=false

小知识:$XDG_CONFIG_HOME

不需要在任何地方定义它,除非您想更改默认值。
XDG基本目录规范明确指出:

如果$XDG_CONFIG_HOME未设置或为空,$HOME/.config则使用默认值 。

因此将其定义为默认值是多余的。所有兼容的应用程序将已经使用$HOME/.config
但是,如果您确实想在Debian / Ubuntu系统中更改默认设置,最好的地方是:

  • 对于系统范围的更改,影响到所有用户: /etc/profile
  • 仅针对您的用户: ~/.profile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值