
我最近升級了 Ubuntu 14.04 (kubuntu),在由 64 位元 Windows 7 Enterprise 託管的 VirtualBox 4.3.12 中以訪客身分執行。
直到昨天,當我嘗試啟動新升級的系統時,一切都運作良好。
首先是新系統(核心 3.13.0-52-generic)無法啟動:我得到了經典的
ALERT! /dev/disk/by-uuid/<long string> does not exist. Dropping to a shell!
錯誤,我陷入了(initramfs)
灰燼的提示。我可以啟動較舊的系統(核心 3.13.0-32-generic),但它提供了損壞的 KDE,其中視窗管理器似乎無法啟動:應用程式將啟動,並被拖入(的左上角)一)桌面,無法移動它或調整其大小。並且任何系統設定選單中都沒有用於添加更多虛擬桌面的選項。
我在網上搜索了很多關於此問題的信息 - 這是我以前從未見過的錯誤 - 但我不確定如何將修復應用於虛擬系統。我想我可以簡單地從頭開始安裝一個全新的系統......但這是最好的方法嗎?請注意,blkid
目前返回為其唯一的行
/dev/sr0: LABEL="VBOXADDITIONS_4.3.12_93733" TYPE="iso9660"
另外,沒有/dev/disk
目錄,也沒有/boot
目錄。不久前,我確實設法將blkid
啟動映像包含在內,/dev/sda1
但我不確定它現在去了哪裡。
我嘗試過:將我的 Linux 虛擬映像(“ubuntu.vdi”)傳輸到 VirtualBox 中的 SCSI 控制器,將參數“rootdelay=60”添加到 GRUB 選單中的引導行,但到目前為止沒有任何效果。
任何幫助都將非常感激,因為我的大部分工作都需要 Linux,而且它必須在 Windows 內部運行,因為我的機構使用 Microsoft AD 處理所有事務,包括存取通用磁碟機和印表機。我們的 IT 服務直接拒絕建置 Linux 支援。
答案1
我在物理機上也遇到了類似的問題。看起來它在更新期間重新啟動,並且讓 grub 啟動內核映像(3.13.0-45-generic),該映像無法找到我的硬碟,並且沒有 /dev/disk/by 的條目-uuid/.
我透過從舊核心啟動然後完成升級解決了這個問題。這給了我 3.13.0-53-generic,它似乎工作得更好。
1) 引導至 grub 提示符,按「e」查看目前(損壞的)引導程序的引導腳本。拍攝螢幕照片。
2) 按 ESC 鍵,然後按「c」進入 GRUB 指令提示字元。
3) 檢查根磁碟機上引導目錄的內容,看看有哪些核心可用。 (將 hd0,msdos3 替換為您的根目錄):
grub> ls (hd0,msdos3)/boot/
grub/ .... vmlinuz-3.13.0-45-generic vmlinuz-3.2.0-70-generic initrd.img-3.13.0-45-generic initrd.img-3.2.0-70-generic
4) 從舊核心引導。 (請參閱您的照片以獲取確切的命令和 root UUID=... 。使用製表符完成來使拼寫完全正確,並對 vmlinuz 和 initrd.img 使用相同的版本號):
grub> set root='hd0,msdos3'
grub> linux /boot/vmlinuz-3.2.0-70-generic root=UUID=xxx[replace this]xx ro
grub> initrd /boot/initrd.img-3.2.0-70-generic
grub> boot
(可能需要幾次嘗試才能使一切正確。如果 UUID 不起作用,請嘗試 root=/dev/sda3 —— 或任何 Linux 所說的根磁碟+分割區。)