回家复归台式机, 重新配置一下. 尝试在 Windows 环境下写代码, 终归是哪儿都觉得不太顺; 而 Arch 美则美矣一些常用软件还是有些不方便; 故, 半年之后终又折腾起了黑苹果, 从 Clover 转到 OC; 在调整硬盘划分的过程中将 Arch 转到了新的分区. 总结一下.

硬件列表

1
2
3
4
5
技嘉Z390 AORUS PRO WIFI
I5 9600K
金士顿 Fury 2666 *2
西数SN750 + 三星 970EVO
fenvi T919 网卡

分区记录

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
(base) ➜  ~ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: Apple_APFS Container disk3 214.7 GB disk0s1 # Time Macktime
2: Microsoft Basic Data disk0s2 285.4 GB disk0s2 # 待定

/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: Windows Recovery 523.2 MB disk1s1 # EFI 分区
2: EFI NO NAME 104.9 MB disk1s2
3: Microsoft Reserved 16.8 MB disk1s3
4: Apple_APFS Container disk2 184.9 GB disk1s4 # macOS
5: Linux Filesystem 157.3 GB disk1s5 # Arch
6: Linux Filesystem 52.4 GB disk1s6 # Ubuntu, 基本不用了
7: Microsoft Basic Data Win11 104.9 GB disk1s7 # Windows

/dev/disk2 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +184.9 GB disk2
Physical Store disk1s4
1: APFS Volume Macintosh - Data 36.0 GB disk2s1
2: APFS Volume Preboot 338.8 MB disk2s2
3: APFS Volume Recovery 1.1 GB disk2s3
4: APFS Volume VM 1.1 MB disk2s4
5: APFS Volume Macintosh 15.8 GB disk2s5
6: APFS Snapshot com.apple.os.update-... 15.8 GB disk2s5s1

/dev/disk3 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +214.7 GB disk3
Physical Store disk0s1
1: APFS Volume TimeMachime 27.2 GB disk3s2

Mackintosh

OpenCore 安装

Debug

  • 蓝牙
    • 原本以为不能用是网卡的问题, 尝试 BrcmPatchRAM 无果; 结果还是 USB 的问题
  • 有线网卡
    • IntelMausi
  • 多引导
  • HDMI 睡眠后显示器无法唤醒: 启动参数添加 igfxonln=1; from here
  • USB 映射
    • 遇到的: 要么是 USB3.0 失效, 要么 USB2.0 失效: 需要用到 USBInjectAllUSBMap.
    • 具体的 USB map 参见 教程
    • 另外司波图也有一个自己定制的 教程
  • 关于 NTFS 挂载
  • 关于更新
    • 看到小红点没忍住, 尝试从 Monterey 10.1 更新到 10.2, 果然失败了; 然后发现 OC 好像回归到了很早的一个版本, 无论怎样修改 plist 都没用, 最后 重置 NVRAM 解决了
    • No zuo, no die
  • 添加其他系统的引导

回顾 Clover 安装

总结一下之前写的 Clover 安装过程, 以资比较.

安装流程

  • 下载, 制作安装 U盘
  • U盘 启动, 安装系统
  • 配置 EFI
    • 第一次很顺利, 直接用了他人配置好的 EFI 就上车了, 因此没有太多研究
    • sudo diskutil mount disk0s1 挂载替换 EFI 即可; 或者用 Clover Configurator 挂载

定制 USB

macOS 软件栈

  • Hackintosh
    • Hackintool
    • OpenCore Configurator: OC配置; EFI挂载
  • 软件管理
    • brew:
      • VS Code: 官方下载安装包好慢来着
      • uTools: 启动管理
      • 其他列表见下
  • 工具
    • 阿里云盘 aDriver: 文件下载
    • Notion: 跨平台笔记同步
    • 效率
      • PopClip
      • Magnet 窗口管理
      • MacCleaner 系统清理/管理
  • 常用
    • PDF Expert
    • MWeb
    • Transmit SFTP工具, 同步配置
    • MagNet 窗口管理
  • Code
    • git: ssh-keygen
    • 其他的直接看下面代码吧
    • EasyConnect 学校 VPN
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
42
43
44
45
# brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# vim 复制已有的配置文件
cp code/00-config/configs/shell/.vimrc ~/

# 配置 zsh
brew install --cask iterm2
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
chsh -s $(which zsh) # 似乎 Monterey 默认就是 zsh?
# ! 因为备份了配置, 直接复制过来
cp code/00-config/configs/shell/.zshrc ~/
source ~/.zshrc
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
brew install autojump # j
source ~/.zshrc
# 基本软件
brew install tree
brew install trash # 用 trash 替换 rm
brew install carlocab/personal/unrar # x=extract 解压 rar 文件调用
brew install bat # 增强 cat

# VS Code; Sublime
brew install --cask visual-studio-code
brew install --cask sublime-text

# conda
brew install --cask miniconda
conda init zsh

# go
brew install go # VS Code 可以自动识别安装相关调试工具

# Applications
brew install --cask neteasemusic # 网易云音乐
brew install --cask iina # IINA
brew install --cask wechat qq # WeChat QQ
brew install --cask keka # 压缩软件

# Tools
brew install --cask utools # uTools
brew install --cask eudic # 欧路词典
brew install --cask karabiner-elements # 改键

记录一下目前安装列表

1
2
3
4
5
6
7
8
9
(base) ➜  code brew list
==> Formulae
autojump gdbm mpdecimal python@3.10 sqlite tree
ca-certificates go openssl@1.1 readline trash xz

==> Casks
eudic miniconda qq visual-studio-code
iina neteasemusic sublime-text wechat
iterm2 popclip

Arch Linux

将系统转移到新的分区

出于两张硬盘分区比较混乱, 试图重新整理一下, 这里将西数盘上安装的 Arch 系统转移到三星那张的一个分区下, EFI 统一管理.

在此过程中重新看了一点点 Arch 的教程, 真的极为全面; 接受其一定门槛和投入时间的前提下收获也是很多的. 所以下面附了很多官方的教程

简单记录相关命令

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
# 1. 将系统复制到新驱动器
# 分区,构建文件系统
sudo fdisk /dev/nvme1n1
lsblk -f # --fs 输出文件系统信息
sudo mkfs.ext4 /dev/nvme1n1p5
# 用 rsync 将全盘复制到新分区
sudo pacman -Syy rsync
rsync -aAXHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt
lsblk -f # 检查一下

# 2. 更新fstab
sudo mount /dev/nvme1n1p5 /mnt
sudo arch-chroot /mnt
# 这里进了新系统的环境,生成新的 fstab, 因此需要根据新系统下的挂载情况挂载相应的磁盘
mount /dev/nvme1n1p2 /efi # 这块磁盘上的 EFI 分区
sudo pacman -S --needed arch-install-scripts # 包括 arch-chroot, genfstab 等
genfstab -U / >> /etc/fstab # 如果是直接 mount 的话应该是 genfstab -U /mnt >> /mnt/etc/fstab

# 3. 重新安装引导加载程序 grub
# 安装,这里的 esp 即EFI系统分区,例如上面 mount /dev/nvme1n1p2 /efi 就是用 /efi
grub-install --target=x86_64-efi --efi-directory=[esp] --bootloader-id=GRUB
# 下面配置 grub,采用 grub-mkconfig 自动生成 (也可以手动写)
# 多系统引导,采用 os-prober
sudo pacman -S os-prober
# 挂载其他系统所在分区; 经测试 Windows 也可以识别
sudo mount /dev/nvme1n1p6 /root/sysA
grub-mkconfig -o /boot/grub/grub.cfg

# 完成!
sudo reboot

软件配置更新

包管理基本语法; 安装软件

1
2
3
4
5
6
7
8
9
10
# pacman
# 卸载
pacman -Qs gold # 查询相关软件
sudo pacman -Rs goldendict # 卸载包及用不到的依赖

# yay
# 注意 yay 不要用 sudo
yay -S google-chrome
yay -S eudic # 欧陆词典
yay -S notion-app # Notion

相关命令记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 分区
fdisk -l # 查看
fdisk # m 帮助; w 写入

# 文件系统
# 查看现有文件系统
lsblk -f
mkfs.ext4 /dev/partition # 比如 ext4 格式
mount /dev/sda1 /mnt

# 生成 fstab, 其实可以自己写,这里用了 arch-install-scripts 包里的 genfstab
sudo pacman -S --needed arch-install-scripts # 包括 arch-chroot, genfstab 等命令
# 生成前将所需的目录都挂载好
genfstab -U -p / | less # 检查一下
genfstab -U -p / >> /etc/fstab

GRUB

1
2
3
4
# rescue
grub rescue> set prefix=(hdX,Y)/boot/grub # ls 找到系统分区
grub rescue> insmod (hdX,Y)/boot/grub/i386-pc/normal.mod # 可能是 /boot/grub/x86_64-efi/normal.mod
rescue:grub> normal

Windows

简单记录一些常用软件

  • 系统相关
    • 鲁大师?
    • refus, balenaEtcher
    • CPU-Z, GPU-Z
    • DiskGenius 磁盘管理
    • CrystalDisk
    • EasyUEFI 直接配置 BIOS, 类似 efibootmgr
  • 效率
    • SpaceSniffer 空间管理
  • 工作
    • Office 系列?
    • IDM 下载
    • PotPlayer
    • Everything
    • Wox?
  • Code
    • Xftp, Xshell