‘/etc/fstab’ 中的 ‘PARTUUID’ 和(硬體)RAID0 不能很好地配合使用,是嗎?
Fresh Arch Linux 安裝在(硬體)RAID0下,帶有**GPT分區的 64 位UEFI系統。不得不添加
MODULES="ext4 dm_mod raid0" HOOKS="base udev autodetect modconf block mdadm_udev filesystems keyboard fsck"
/etc/mkinitcpio.conf
以便在啟動時正確辨識 RAID0 上的分區。除此以外,ERROR: device 'UUID=<uuid>' not found. Skipping fsck. ERROR: Unable to find root device 'UUID=<uuid>'. ...
將發出。
但是有一個特點,我不知道如何解釋。一方面,當
/etc/fstab
包含任何一個/dev/*
或UUID=*
源時,Arch Linux 可以正常啟動。另一方面,當它包含PARTUUID=*
源時,會在啟動時發生一堆相應的Dependency failed
錯誤(關於從 安裝這些源/etc/fstab
)並掛起。你能解釋一下在這種情況下有什麼問題
PARTUUID=*
嗎/etc/fstab
?這與RAID0有關嗎?$ cat /proc/mdstat Personalities : [raid0] md126 : active raid0 sda[1] sdb[0] 976768000 blocks super external:/md127/0 128k chunks md127 : inactive sda[1](S) sdb[0](S) 4904 blocks super external:imsm unused devices: <none>
$ dmsetup table No devices found
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk └─md126 9:126 0 931.5G 0 raid0 ├─md126p1 259:0 0 1G 0 md /boot/efi ├─md126p2 259:1 0 1G 0 md ├─md126p3 259:2 0 1G 0 md ├─md126p4 259:3 0 256G 0 md ├─md126p102 259:4 0 16G 0 md [SWAP] ├─md126p103 259:5 0 16G 0 md / ├─md126p104 259:6 0 16G 0 md /var └─md126p105 259:7 0 256G 0 md /home sdb 8:16 0 465.8G 0 disk └─md126 9:126 0 931.5G 0 raid0 ├─md126p1 259:0 0 1G 0 md /boot/efi ├─md126p2 259:1 0 1G 0 md ├─md126p3 259:2 0 1G 0 md ├─md126p4 259:3 0 256G 0 md ├─md126p102 259:4 0 16G 0 md [SWAP] ├─md126p103 259:5 0 16G 0 md / ├─md126p104 259:6 0 16G 0 md /var └─md126p105 259:7 0 256G 0 md /home sr0 11:0 1 1024M 0 rom
$ blkid /dev/sda: TYPE="isw_raid_member" /dev/sdb: TYPE="isw_raid_member" /dev/md126p1: LABEL="EFI" UUID="722E-E4AB" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="a8e94657-e6ea-4712-be06-ac9ffe6e2258" /dev/md126p3: LABEL="Windows PE 5.0 (x64)" UUID="181C2F991C2F7144" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="15848c79-1456-418b-a243-830d0db894ce" /dev/md126p4: LABEL="Windows 8.1 (x64)" UUID="AAB83149B83114F3" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7d3a06f5-4c67-4299-80b0-029501e14f18" /dev/md126p102: UUID="6a2d4998-3ac8-4135-9d72-47960b201d5d" TYPE="swap" PARTLABEL="Swap" PARTUUID="d418edd6-44eb-4058-921f-c68aa191c5ac" /dev/md126p103: UUID="2c241730-a076-48d9-8d1f-6e10573a994f" TYPE="ext4" PARTLABEL="Arch Linux" PARTUUID="37200e1e-dea4-435a-a873-427e3ee8c494" /dev/md126p104: UUID="8d4eff47-3a2b-46b4-9263-7bbf00d8d0db" TYPE="ext4" PARTLABEL="Variable" PARTUUID="cd15b1f0-e948-4975-9218-591efa5b9b95" /dev/md126p105: UUID="e0b15e56-3846-4e75-96f8-4f75058b4a6b" TYPE="ext4" PARTLABEL="Home" PARTUUID="54e85323-522c-415a-b7bd-2eb83b6b4ee6" /dev/md126: PTUUID="e4e1b9b8-c26f-416d-82d9-e9350d0b5ac2" PTTYPE="gpt" /dev/md126p2: PARTLABEL="Microsoft reserved partition" PARTUUID="6e9264fd-da04-4966-b8e0-8f3124f47050"
由於現在很清楚您正在執行軟體 RAID(“假 RAID”,其中韌體/BIOS 還具有軟體 RAID 實現,以便更輕鬆地啟動 Windows — 在本例中為 Intel Matrix Storage),您可能會看到Arch 的 initramfs w/r/t 分區 md 數組中的一些錯誤。
真正的硬體突襲對作業系統幾乎是完全透明的;例如,您只會看到一個設備,即 RAID 陣列,而不是每個磁碟一個設備。硬體 RAID 陣列看起來就像作業系統的普通磁碟,至少在您安裝了 RAID 驅動程序後(沒有它,作業系統根本看不到它)。
很長一段時間以來,您根本無法對 md 數組進行分區(在它們之上使用 LVM 或創建多個數組很常見——現在仍然如此);稍後,您可以設置一個可分區的,但這不是預設設置;如今,它們都可以被分割。但是可能仍然有一些關於它們不可分區的假設,並且正在物理磁碟上尋找那個 partuuid,而不是 RAID 陣列。
就個人而言,我不擔心它,而是使用 UUID。此外,一般來說,對於僅限 Linux 的機器,通常最好根本不使用“假 raid”,而直接使用帶有本機格式的 Linux mdraid。有了 RAID-0,我相信你很快就有機會重建盒子……