目前我已經安裝了arch 安裝(pure arch + hyprland),因此我的/ (root)位於我的NVME SSD 上(由於Windows 雙啟動,空間很小),但我的/home 目錄位於我的SSHD 上( SSD 和SSD 的混合體) HDD(但可以安全地將其視為 HDD),因為它具有更多的儲存空間。然而,由於安裝了更多的軟體包、驅動程式等,它變得太大而無法安裝在我的 SSD 上,所以我遵循了一些指南阿庫本圖,超級用戶和其他一些網站基本上也說了同樣的話。接下來,我啟動到活動磁碟,安裝了兩個磁碟機。這裡有我係統上的所有磁碟機和分割區供參考(root 是 nvme0n1p8,home 是 sda5,usr 的目標是 sda6) Ran rsync -avh "/mnt/usr/" "sda6mnt/"
,編輯 etc/fstab 並重新啟動。但是重新啟動後我得到了這個螢幕
為了解決這個問題,我回到了實時磁碟,但這次安裝了所有驅動器像這樣(即一切完成後它們應該是什麼樣子)。並且運行genfstab -U /mnt >> /mnt/etc/fstab
,vim
編輯到 fstab 並編輯它以刪除先前的設置,最後得到這。它對我來說看起來不錯,所以我重新啟動,但遇到了與之前相同的錯誤。
所以,是的,我希望有人可以幫助我找出問題所在,如果我在分區或創建 fstab 時犯了一些錯誤,請提前致謝!
PS 我對這些圖片感到抱歉,但我沒有捕獲卡,顯然無法在 arch 恢復 shell 中進行屏幕截圖:)
答案1
因為 /usr 保存了大部分主作業系統,所以無法真正掛載經過相同的作業系統(例如,您還沒有 /usr/bin/mount),相反,它必須在引導過程的早期由 initramfs 掛載。雖然發行版過去支援透過常規 fstab 後期安裝 /usr,但 Arch(或 Debian、Gentoo 或 Fedora)不再是這種情況。
使用常規 Arch mkinitcpio,編輯/etc/mkinitcpio.conf
以啟用該usr
鉤子;然後使用 重建你的 initramfs mkinitcpio -P
。看文章。 (儘管由於您使用的是 Btrfs,您通常可能希望將 initramfs 完全切換為「systemd」。)
(但實際上,我認為將 / 的其餘部分保留在 SSD 中沒有什麼意義。如果沒有 /usr,SSD 上唯一剩下的就是 /var 和 /etc,它們都很小且很少使用 – 在對於台式機來說,將/var 儲存在最快的磁碟上似乎是一種浪費,我寧願要么投資更大的NVMe SSD(現在您幾乎可以以相同的價格購買2TB),要么縮小容量。 usr 騰出空間。
還要記住,這rsync -a
並沒有複製所有元資料;您還需要-HAX
保留硬連結、檔案 ACL 和擴充屬性。 (例如,有幾個「類似 setuid」的二進位檔案指派有檔案功能。)