双系统推荐先装 Windows,然后在 Windows 下分好分区大小,然后再装 Linux,之后使用 grub 来引导双系统
Windwos11 安装 下载镜像 在NEXT, ITELLYOU 下载 Windows 镜像,下载完后和安装普通软件一样安装即可
我图方便会使用迅雷下载,如果有更好的选择可以用别的软件,只要支持 BT 或 ED2K 即可,因为网站只提供了这两种下载方式
制作启动盘(可选) 如果是没有系统的全新的电脑,需要在另一台电脑上将镜像放入 U 盘,做成启动盘
我一般会使用Rufus 完成这个过程,操作简单,软件小巧
有了启动盘之后,插上电脑,开机时按 F2 进入 Bios,选择优先用 USB 启动。进 Bios 的方式,根据电脑品牌有所不同
进入安装程序之后按着提示安装即可
Windows 配置(可选) 添加开机启动项 Win + R 打开运行窗口,输入 shell:startup 打开启动文件夹
修改键盘反应速度 注册表修改:
Win+R 打开运行窗口,输入 regedit 进入注册表
打开计算机\HKEY_CURRENT_USER\Control Panel\Keyboard
调整 keyboardspeed 即可,其默认值是 31
控制面板修改:
如果是 Win11 的话推荐使用这种方式,以前用 Win10 的时候,控制面板里的键盘速度拉满还是觉得慢,但是 Win11 拉满感觉还行
开始菜单搜索控制面板-控制面板搜索键盘-按提示修改即可
启用 WSL2 Win11 现在自带 WSL1,只需要启用,然后升级成 WSL2 即可
Win+i 打开设置,进入应用-可选功能,添加虚拟机平台 和Linux 子系统 ,重启生效
下载更新包wsl_update_x64.msi 并安装
启用 WSL2
1 wsl --set-default-version 2
安装一个你习惯的发行版,我这里选择 Arch
微软官方没有提供 Arch 的镜像,但 Github 上有yuk7/ArchWSL
使用证书+appx 的方式安装,在 Release 界面下载最新的.cer 和.appx
证书安装,双击-安装证书-本地计算机-将所有证书都放入下列存储-收信任人
appx 双击安装即可
Manual installation steps for older versions of WSL | Microsoft Learn
配置 Shell
安装powershell 和nerd font
安装 oh-my-posh
1 Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))
安装gerardog/gsudo
1 PowerShell -Command "Set-ExecutionPolicy RemoteSigned -scope Process; [Net.ServicePointManager]::SecurityProtocol = 'Tls12'; iwr -useb https://raw.githubusercontent.com/gerardog/gsudo/master/installgsudo.ps1 | iex"
配置主题
1 2 3 4 # 创建启动配置文件 New-Item -Path $PROFILE -Type File -Force # 使用notepad打开启动配置文件 notepad $PROFILE
在打开的记事本中添加并保存以下内容即可启用 sorin 主题
1 oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/sorin.omp.json" | Invoke-Expression
配置 Terminal Emulator Win11 自带 Windows Terminal,不用自己安装
添加配色
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "background" : "#23262E" , "black" : "#23262E" , "blue" : "#0321D7" , "brightBlack" : "#292E38" , "brightBlue" : "#03D6B8" , "brightCyan" : "#03D6B8" , "brightGreen" : "#8FD46D" , "brightPurple" : "#EE5D43" , "brightRed" : "#F92672" , "brightWhite" : "#C74DED" , "brightYellow" : "#FFE66D" , "cursorColor" : "#EE5D43" , "cyan" : "#03D6B8" , "foreground" : "#FFCA28" , "green" : "#8FD46D" , "name" : "Aurora" , "purple" : "#EE5D43" , "red" : "#F0266F" , "selectionBackground" : "#292E38" , "white" : "#C74DED" , "yellow" : "#FFE66D" },
添加键位绑定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 "actions" : [ { "command" : "unbound" , "keys" : "alt+enter" }, { "command" : { "action" : "sendInput" , "input" : "\u001b[65;6u" }, "keys" : "ctrl+shift+a" }, { "command" : { "action" : "sendInput" , "input" : "\u001b[72;6u" }, "keys" : "ctrl+shift+h" }, { "command" : { "action" : "sendInput" , "input" : "\u001b[74;6u" }, "keys" : "ctrl+shift+j" }, { "command" : { "action" : "sendInput" , "input" : "\u001b[75;6u" }, "keys" : "ctrl+shift+k" }, { "command" : { "action" : "sendInput" , "input" : "\u001b[76;6u" }, "keys" : "ctrl+shift+l" } ],
去除 powershell 版本信息 在 powershell 的启动命令后面加上-Nologo
,注意,在引号的外面加
ArchLinux 安装 调整磁盘分区 这一步可以在 Linux 安装过程中进行,但是 Windows 的图形界面会稍微方便一点
在 Windows 中右键此电脑-管理-磁盘管理,按提示分区即可
下载镜像 以 ArchLinux 为例,在ArchWiki 下载ArchLinux 镜像
制作启动盘 使用 Rufus 制成启动盘,选择 dd 模式写入
重启进 Bios 选择 USB 启动,进入安装程序
连接网络
解除 wifi 禁用,有时可能需要
连接 wifi
1 2 3 4 5 6 7 8 9 10 # 进入iwctl iwctl # 列出可用的设备 device list # 扫描wifi station wlan0(设备名) scan # 列出wifi station wlan0(设备名) get-networks # 连接wifi station wlan0(设备名) connect ssid
[!NOTE] WPA Enterprise 连接企业协议的 wifi 在 /var/lib/iwd 文件夹中创建一个 essid.8021x 格式文件
1 2 3 4 5 6 7 [Security] EAP-Method =PWDEAP-Identity =your_enterprise_emailEAP-Password =your_password[Settings] AutoConnect =True
动态分配 ip 地址
同步时间
1 timedatectl set-ntp true
挂载分区
列出所有分区
输出样式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 Disk /dev/nvme0n1:476.94 GiB,512110190592 字节,1000215216 个扇区 磁盘型号:WDC PC SN730 SDBPNTY-512G-1101 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt 磁盘标识符:72F59F11-233F-4406-B9C0-115C1635EE14 设备 起点 末尾 扇区 大小 类型 /dev/nvme0n1p1 2048 534527 532480 260M EFI 系统 /dev/nvme0n1p2 534528 567295 32768 16M Microsoft 保留 /dev/nvme0n1p3 567296 419987294 419419999 200G Microsoft 基本数据 /dev/nvme0n1p4 419987456 998166527 578179072 275.7G Linux 文件系统 /dev/nvme0n1p5 998166528 1000214526 2047999 1000M Windows 恢复环境
进入硬盘进行操作
1 2 3 4 5 6 7 fdisk /dev/nvme0n1 # m for help # p print the partition table # g create a new empty GPT partition table # o create a new empty mbr partition table # w 写入你的所有更改 # n add a new partition
请确保 EFI 分区的大小大于 126M, 不然可能空间不够, 导致无法安装 Grub 引导, 最好 200M, 因为后续可能安装各种 Grub 主题
格式化 Linux 数据存储分区,以 nvme0n1p4 为例,注意,不要格式化 Windows 启动引导所在的分区
1 mkfs.ext4 /dev/nvme0n1p4
挂载数据分区和 boot 分区
1 2 3 mount /dev/nvme0n1p4 /mnt mkdir /mnt/boot mount /dev/nvme0n1p1 /mnt/boot
安装系统 我选择安装长期支持版的内核
1 2 3 4 # 安装系统 pacstrap /mnt base linux-lts linux-firmware neovim # 生成fstab文件 genfstab -U /mnt >> /mnt/etc/fstab
切换到新系统进行配置 切换到新系统
设置 root 密码
设置交换空间 一般来说内存够大是不需要交换空间,但是有交换空间的话可以方便系统休眠,所以还是设置一个比较好
分配交换空间
1 fallocate -l 2GB /swapfile
更改权限
建立并激活交换空间
1 2 3 4 # 建立交换空间 mkswap /swapfile # 激活交换空间 swapon /swapfile
修改/etc/fstab
开机自动挂载swapfile
在文件末尾添加
1 /swapfile none swap defaults 0 0
设置时区
设置时区
1 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步硬件时钟
设置语言
取消zh_CN.UTF-8
和en_US.UTF-8
的注释
生成语言环境
配置语言环境
向文件里写入LANG=en_US.UTF-8
,因为 tty 界面不支持中文显示,所以为了放止乱码,务必先设置为英文环境,进入桌面后再改为中文
设置 hostname 和 hosts
设置 hostname,打开/etc/hostname
写入你喜欢的名称,这里以Legion
为例
修改/etc/hosts
1 2 3 127.0.0.1 localhost ::1 localhost 127.0.0.1 Legion.localdomain Legion
安装并配置 Grub 引导 因为新版本的 windows 无法引导 Linux,所以使用 Grub 来引导双系统
安装必备软件包,grub 和 efibootmgr 用于引导,os-prober 用于搜索 windows 引导程序,如果你是 intel cpu,需要将 amd-ucode 换为 intel-ucode
1 pacman -S grub efibootmgr os-prober amd-ucode
配置 grub 打开/etc/default/grub
1 2 3 4 GRUB_CMDLINE_LINUX_DEFAULT ="loglevel=3 quiet modprobe.blacklist=nouveau" GRUB_DISABLE_OS_PROBER =false
安装并生成 grub 配置
1 2 3 grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Grub # 生成grub配置 grub-mkconfig -o /boot/grub/grub.cfg
创建用户
新建用户,并加入 wheel 组,方便开启 sudo
1 useradd -m -G wheel <用户名>
添加进 lp 组,不然无法使用蓝牙
设置密码
开启 sudo
1 2 3 pacman -S sudo ln -s /usr/bin/nvim /usr/bin/vi visudo
去掉%wheel ALL=(ALL) ALL
的注释
安装必备软件 1 pacman -S networkmanager nvidia-lts
一定要安装一个网络管理软件,我选择 networkmanager,使用方法:
nmcli device wifi list
nmcli device wifi connect SSID password XXXXXXXX
如果在 grub 中禁用了开源 nvidia 驱动的话,一定要安装 nvidia 的专有驱动,不然开机会黑屏,我选择的是 linux-lts 内核,所以安装 nvidia-lts
设置开机启动项(守护进程) 1 2 systemctl enable bluetooth.service systemctl enable NetworkManager.service
退出新系统并重启 1 2 3 4 exit killall iwd umount -R /mnt reboot
双系统时间同步 Linux 下执行
1 timedatectl set-local-rtc 1
回到 Windows,设置-时间和区域-立即同步
额外配置(可选) 开机自动挂载 Windows 分区
安装 ntfs-3g,用于读取 ntfs 文件系统
创建挂载点,使用/mnt/c
是为了和 WSL 保持一致
查看 windwos 分区的 UUID
1 sudo blkid /dev/nvme0n1p3
修改/etc/fstab
,在末尾加入
1 UUID=XXXXXX /mnt/c ntfs-3g defaults 0 0
生成 SSH 密钥
1 ssh-keygen -t rsa -b 4096 -C "备注"
配置 Git