SUSE VM 查找錯誤的分區 ID
我有一個在 Hyper-V (Win Server 2008 R2) 主機上執行的 SUSE 實例。初始安裝很好。在設置 Apache、MySQL 等之後…我關閉了 VM 並對其進行了快照(所以如果出現問題我可以恢復)。
快照後,系統將無法啟動。
具體我得到….
如果我選擇“否”(不要嘗試使用
...-part1
),它會將我轉儲到我不熟悉的提示符($
)。如果我回答是,它會等待-part1
幾秒鐘,然後失敗並讓我回到相同的提示。在任何一種情況下,我都會得到:
sh: cannot set terminal process group (-1): Inappropriate ioctl for device sh: no job control on this shell
我似乎有一個極其有限的工具集(大概是內置的 shell 命令?)
如果我這樣做,
ls -al /dev/disk/by-id
我會得到以下資訊:我不確定如何繼續 - 據我所知,HDD 正在被 VM 辨識(否則,我不會走到這一步),但它正在尋找要掛載的分區的 ID不正確(請注意,列出的 Id 在該
20202020
部分之後會有所不同)。我怎樣才能告訴 Linux 使用新的 Id 或(失敗)更改 Id 以匹配 Linux 的期望?
附錄:經過更多Google搜尋,似乎這可能是由於升級問題。我確實使用 YAST 安裝了“重要”更新預重啟,所以這也可能是原因。當然,現在我不能 100% 確定正在執行什麼版本。
cat /proc/version
結果是:
看起來您的快照更改了設備 ID。也許您無意中複製了系統?無論如何,這應該會有所幫助:
在 grub 菜單(您可以在其中選擇啟動的作業系統/核心,通常它還有一個救援選項),移動游標以阻止它自動繼續使用預設選項。然後選擇預設選項並添加
root=/dev/sda1
. 按 Enter,這應該會啟動。在我的系統上,我可以以 root 身份登錄(在文本模式下)。編輯文件/boot/grub/menu.list
和/etc/fstab
,將每次出現的 替換disk/by/id[...]-part
為sda
。這應該會為您提供設備名稱,例如/dev/sda1
. 重新啟動,一切都應該沒問題。您可能需要考慮檢查您的 grub2 配置,以便核心更新不會破壞您的 menu.lst。