
我目前正在開發一個基於 CentOS 6.7 (2.6) 核心的自訂 initrd以下模組已載入。
initrd 旨在將舊 RHEL 系統中的檔案備份到記憶體中、卸載磁碟、擦除磁碟,最後將dd
預先建置的 CentOS 系統複製到磁碟上。
CentOS系統是在VMware上建置的,然後將vmdk匯出並轉換為原始格式qemu-img
。
從測試來看,整個過程運作得非常好,一旦dd
完成,系統就可以重新啟動並正常啟動。
目前的障礙是,一旦dd
操作完成,我無法掛載 LVM 磁碟以將檔案複製回來。
正如您在模組列表中看到的那樣,LVM 驅動程式已存在並已加載,如果我運行 a,fisk -l
它會顯示sda1
為啟動分區(非 LVM)和sda2
LVM 分區。運行時pvscan -vvv
它看到/dev/sda2
但說No label detected
。
答案1
由於您擦除了磁碟,正在運行的核心將不知道可用的分割區。
您可以運行partprobe
(與分區實用程式一起提供parted
)以在正在運行的核心中重新載入正確的分區資訊。
如果您沒有partprobe
(不需要小光碟parted
?),您可以hdparm -z /dev/yourdrive
按照所述使用@ko-dos