Loading... 由于鸡哥的 windows 10/11 总是有各种问题(我们小组的几台鸡哥全寄了),~~这边选择装一个双系统~~,~~日常除了 office 三件套以外的工作~~,现在 linux in wps 全部解决了(由于市场还是太小了,没有广告、操作和 office 没什么差别,对我们这种写写简单报告的够用了,唯一良心),都将主要使用 linux 在众多发行版中,相中了国内社区主导的 [aosc](https://aosc.io/) 安同系统,一是安装比较简单,二是更新比较勤快 **(2025年06月05日记:oma 上游更新了个用不了的 zsh5.9-1,导致我一天没法正常干活,通过重装并改用 bash 解决;第二天 oma 紧急更新了 zsh5.9-2,目前是可用了)** ,三是现在常用的 wechat、qq 之类的已经对 unix 支持比较完善了,可以无痛迁移 ## 系统安装及设置 1. kde 主题 2. 设置配置 1. 进系统再修改字体时区,防止 `~/download` 这种 2. 修改 ~ 下的 Downloads -> download 3. 拼音,pinyin 4. 个性化 1. KDE 密码库,kwallet 3. 开机启动小键盘:修改 `/etc/sddm.conf` 的 `Numlock = on` 4. 添加应用快捷方式:`/usr/share/applications` 5. 安装 vmware workstation: 1. `wget -O vmware-workstation.bundle https://download3.vmware.com/software/WKST-1750-LX/VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle` 2. `chmod +x vmware-workstation.bundle` 3. `./vmware-workstation.bundle` 4. 如果报错 `[AppLoader] Fail to load the library. /usr/lib/libxcb-shm.so.0: undefined symbol: xcb_send_request_with_fds`,则 ```bash $ file /usr/lib/libxcb-shm.so.0 /usr/lib/libxcb-shm.so.0: symbolic link to libxcb-shm.so.0.0.0 $ ll /usr/lib/libxcb-shm.so.0.0.0 -rwxr-xr-x 1 root root 14K 12月16日 15:02 /usr/lib/libxcb-shm.so.0.0.0 $ sudo mv /usr/lib/vmware/lib/libxcb.so.1/libxcb.so.1 /usr/lib/vmware/lib/libxcb.so.1/libxcb.so.1.backup $ sudo ln -s /usr/lib/libxcb-shm.so.0.0.0 /usr/lib/vmware/lib/libxcb.so.1/libxcb.so.1 ``` 5. ## bash 1. 安装时 locale 选择 us, 进去后再改成 cn 2. 修改字体 ```bash # cjk 表示中日韩、mono 表示等宽、nerd 表示字体里额外带了很多图标 oma install noto-fonts noto-cjk-fonts wqy-microhei sudo echo "LANG=zh_CN.UTF-8" > /etc/locale.conf sudo mkdir -p /usr/share/fonts/{windows} # 1. 将 windows 下的 Fonts 文件夹内的所有内容,复制到这个 windows 下 # 2. 获取一些字体 https://www.nerdfonts.com/font-downloads,同样放到上面的目录下 sudo chmod -R +rx /usr/share/fonts && sudo chown -R root:root /usr/share/fonts # 修改以下文件(跟着用户走) wget -O ~/.config/fontconfig/fonts.conf \ https://raw.githubusercontent.com/shi9uma/genshin/refs/heads/main/mtf/fonts.conf # 查看系统中有什么可用字体 fc-list sudo fc-cache -fv ``` 3. pinyin, zsh, wayland, kwallet 4. 基础组件安装 ```bash oma install ack antlr4 aria2 asciidoc autoconf oma install automake binutils bison build-essential devel-base debug-base oma install ccache cmake cpio dtc oma install flex gettext gperf haveged help2man glibc libglibutil oma install net-tools curl openvpn rsync jq fd btop tcpdump oma install tmux scons upx git qemu nbd oma install fzf ripgrep vim oma install docker docker-compose oma install lrzsz android-platform-tools ntfs-3g oma install nodejs-22 picocom oma install wine winetricks oma install virt-manager oma install openjdk-8 openjdk-11 openjdk-17 openjdk-23 openjdk+latest oma install git pandoc osdlyrics sshpass ``` 5. 常用软件安装 ```bash oma install kwallet kwallet-pam kwalletmanager zsh mihomo-party oma install google-chrome vscode telegram-desktop filezilla yesplaymusic npm install -g npm@latest --registry=https://registry.npmmirror.com npm install cnpm -g --registry=https://registry.npmmirror.com cnpm install -g pm2 ln -s /usr/lib/node-22 /usr/lib/nodejs # 额外装: ghidra rizin radare2 hydra(vanhauser-thc/thc-hydra) john(openwall/john) ida linuxqq wechat siyuan typora cursor dingtalk 百度网盘 xmind vmware-workstation wps ``` 6. sec ```bash oma install binwalk cabextract patchelf nmap putty wireshark fscan okteta radare2 sqlmap ``` 7. python, pip ```bash sudo rm /usr/bin/python && sudo ln -s /usr/bin/python3 /usr/bin/python pip install \ datetime argparse colorama cryptography getpass4 rich readchar mmh3 \ ipython \ ifaddr \ ropgadget pwntools \ scapy shodan \ ollama ``` 8. git ```bash git config --global user.email wkyuu@majo.im git config --global user.name sparkle git config --global credential.helper store git config --global init.defaultbranch main git config --global core.editor vim git config --global pull.rebase true ``` 9. ```powershell # group add group: docker,netdev,libvirt,dialout,adbusers # systemctl enable systemctl enable: docker, libvirtd 配置 docker 的网段 配置一些 docker: cyberchef,drawio,reference,transfersh ``` ## 文件系统及初始化 由于 vmware in linux 已经很好用了,这边决定完全去掉所有物理机上的 windows,后续宿主机只有一个 aosc,任何强需 windows 的应用都走 vmware  以上是原来的双系统设计,新的设计是: 1. 备份 nvme1 下,windows 重要内容 2. 备份 nvme0(也就是在用的 aosc)下的 `/home` 3. 在 nvme0 装 aosc,挂载在 `/`(如果已有 linux 系统,则不需要重装,配置一下硬盘即可,参考下文);将 nvme1 挂载到 `/home` 在这种设计下,只需要确保 nvme1 不损坏,备份也只备份 nvme1(也就是 `/home`),而底层系统(挂载在 `/` 的可以随便换其他 linux),真正做到换系统不换系统配置 不需要重装 linux,当然是可以直接重新挂载的: 1. 首先确定分区的内容(注意每次开机都有可能会给不同的盘分不同的盘符标识,需要以当次为准) ```bash # fdisk -l Disk /dev/nvme1n1:1.86 TiB,2048408248320 字节,4000797360 个扇区 磁盘型号:ZHITAI TiPlus7100 2TB 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt 磁盘标识符:C167EC97-3411-4B16-91FF-531D271EE25E 设备 起点 末尾 扇区 大小 类型 /dev/nvme1n1p1 2048 1050623 1048576 512M EFI 系统 /dev/nvme1n1p2 1050624 1074794495 1073743872 512G Microsoft 基本数据 /dev/nvme1n1p3 1074794496 4000795278 2926000783 1.4T Microsoft 基本数据 Disk /dev/nvme0n1:1.82 TiB,2000398934016 字节,3907029168 个扇区 磁盘型号:Fanxiang P761 2TB 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt 磁盘标识符:3E1686CA-F7F2-421A-9746-B7FCAEB2B77A 设备 起点 末尾 扇区 大小 类型 /dev/nvme0n1p2 2048 3907028991 3907026944 1.8T Linux 文件系统 ``` 2. 然后清空 nvme1n1(注意对应 windows 的分区): ```bash # 卸载可能挂载的分区 sudo umount /dev/nvme1n1p1 sudo umount /dev/nvme1n1p2 sudo umount /dev/nvme1n1p3 # 使用 fdisk 删除所有分区并创建新分区 sudo fdisk /dev/nvme1n1 # 在 fdisk 界面中,依次运行以下指令 d 然后默认回车 # 删除分区(重复此步骤直到删除所有分区,这里是三个子分区,就是三次) n # 新建分区 1 # 分区号 默认 # 起始扇区(按回车接受默认值) 默认 # 结束扇区(按回车使用全部空间) t # 更改分区类型,输入 L 可以查看可选的分区类型,拉到最下面可以看到 home 类型 # 别名: # linux - 0FC63DAF-8483-4772-8E79-3D69D8477DE4 # swap - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F # home - 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 # uefi - C12A7328-F81F-11D2-BA4B-00A0C93EC93B # raid - A19D880F-05FC-4D3B-A006-743F0F84911E # lvm - E6D6D379-F507-44C2-A23C-238F2A3DF928 # xbootldr - BC13C2FF-59E6-4262-A352-B275FD6F7172 home # 这里也可以选择其他类型,例如 linux w # 写入更改并退出 ``` 3. 创建文件系统 ```bash # sudo mkfs.ext4 /dev/nvme1n1p1 mke2fs 1.47.2 (1-Jan-2025) 丢弃设备块:完成 创建含有 500099328 个块(每块 4k)和 125026304 个 inode 的文件系统 文件系统 UUID:2abe4876-24c7-467b-933b-45725c316473 超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 正在分配组表:完成 正在写入 inode表:完成 创建日志(262144 个块): 完成 写入超级块和文件系统账户统计信息:已完成 ``` 4. 此时新的磁盘、分区内容应该如下 ```bash # fdisk -l Disk /dev/nvme1n1:1.86 TiB,2048408248320 字节,4000797360 个扇区 磁盘型号:ZHITAI TiPlus7100 2TB 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt 磁盘标识符:C167EC97-3411-4B16-91FF-531D271EE25E 设备 起点 末尾 扇区 大小 类型 /dev/nvme1n1p1 2048 4000796671 4000794624 1.9T Linux home # 已修改 Disk /dev/nvme0n1:1.82 TiB,2000398934016 字节,3907029168 个扇区 磁盘型号:Fanxiang P761 2TB 单元:扇区 / 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt 磁盘标识符:3E1686CA-F7F2-421A-9746-B7FCAEB2B77A 设备 起点 末尾 扇区 大小 类型 /dev/nvme0n1p2 2048 3907028991 3907026944 1.8T Linux 文件系统 ``` 5. 将 `/dev/nvme1n1p1` 挂载到 `/home` 并设置开机自动挂载 1. 首先复制一份原有的 `/home`: 1. 将 `/dev/nvme1n1p1` 挂载到 `/mnt/home`,用于 `/home` 2. `sudo rsync -aAXv /home/ /mnt/home` 3. 备份完成后 `umount /mnt/home` 2. 挂载:`mount /dev/nvme1n1p1 /home`,然后进 `/home` 看看是否满足原有的 home 结构;这里 mount 时,不会覆盖原有 nvme0 的 `/home`,如果确定了新的迁移方案是满足需求的,需要取消挂载后,删除掉原来的 `/home`,建议是用纯 cli + root 登陆的方式删除 `/home` 3. 设置自动挂载,通过 `genfstab -U / >> /etc/fstab` 写入开机自动挂载表 ```bash # /dev/nvme1n1p2 UUID=16b28ae6-839d-4601-801b-c57ebc5b15ff / ext4 rw,relatime 0 1 # /dev/nvme0n1p1 UUID=2abe4876-24c7-467b-933b-45725c316473 /home ext4 rw,relatime 0 2 # /dev/nvme1n1p1 UUID=351C-94D8 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 /.swapfile none swap defaults 0 0 ``` 4. 重启后查看是否成功实现这种分盘的设计架构 ```bash # df -hl 文件系统 大小 已用 可用 已用% 挂载点 /dev/nvme1n1p2 1.8T 129G 1.6T 8% / # 单盘 nvme1 挂载 devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 16G 103M 16G 1% /dev/shm efivarfs 128K 43K 81K 35% /sys/firmware/efi/efivars tmpfs 6.2G 4.5M 6.2G 1% /run tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service tmpfs 16G 18M 16G 1% /tmp /dev/nvme1n1p1 511M 148K 511M 1% /boot/efi /dev/nvme0n1p1 1.9T 490G 1.3T 28% /home # 单盘 nvme0 挂载 tmpfs 3.1G 152K 3.1G 1% /run/user/1000 ``` 6. 去掉无效的 windows efi 引导 ```bash # 查看当前 EFI 启动项 sudo efibootmgr -v # 删除 windows 的启动项(假设启动项编号为 X) sudo efibootmgr -b X -B ``` © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏