virtualbox 上的 Ubuntu 10.04 發生錯誤:目標檔案系統沒有 /sbin/init \ 找不到 init。嘗試傳遞 init= bootarg

virtualbox 上的 Ubuntu 10.04 發生錯誤:目標檔案系統沒有 /sbin/init \ 找不到 init。嘗試傳遞 init= bootarg

我是一個 Linux 新手,我安裝它的唯一原因是這樣我就可以不再遇到 Windows 與 Ruby on Rails 不相容的問題。話雖如此,它確實很好,而且速度更快,而且我認為我不會很快做任何 Winrails 的事情。

因此,我使用 virtualbox 創建了一個虛擬機,並在過去 3 週內使用了 ubuntu。最近 ubuntu 詢問是否可以更新一些東西,我點擊了「確定」。

現在它無法啟動,並且出現此錯誤: *mount: 在/root/dev 上安裝/dev 失敗: 沒有這樣的檔案或目錄mount: 在/root/sys 上安裝/sys 失敗: 沒有這樣的檔案或目錄. ..目標檔案系統沒有 /sbin/init。未找到初始化。嘗試傳遞 init= bootarg

BusyBox v1.13.3...

(initramfs) _ *

所以我瀏覽了論壇,有各種各樣的解決方案,但它們都與從 live CD 啟動有關。 (我假設這是我最初用來安裝 ubuntu 的 ISO 映像)。但是當我從那張 CD 啟動時,它只是掛在 ubuntu 螢幕上,小點不斷從白色到紅色循環,但它掛在那裡一個小時,所以我認為它被卡住了。不確定我能做什麼;我可以從 busybox shell(或其他任何東西)中做任何事情來修復問題嗎?

問題是,我花了大約 10 個小時才得到我需要的一切,包括所有的寶石和諸如此類的東西。我並沒有真正寫下我調整的內容,而且我已經中年了,所以所有資訊現在都已經洩露了,我不想再這樣做了。我真的很想修復我現有的安裝。

您可能有一個問題:ISO 是否有問題?我不這麼認為,因為我創建了一個新的虛擬機器並使用相同的 iso 檔案來安裝新的 ubuntu。

非常感謝任何幫助。

菲爾

答案1

在引導程式提示符號上一切看起來都很正常。所以我擔心檔案系統已損壞。

我建議採用以下流程:

  1. 建立一個新的虛擬機,並進行全新的 Ubuntu 安裝。
  2. 安裝該etckeeper包,然後運行etckeeper init。這將置於/etc版本控制之下。如果您在 Bazaar、Darcs、Git 和 Mercury 中最喜歡的版本控制工具,請在/etc/etckeeper/etckeeper.conf運行之前選擇它etckeeper commit
  3. 您的變更/etc將在套件管理任務之前和之後自動提交,每天一次。您可以透過etckeeper commit直接運行或呼叫底層版本控制工具來手動提交。
  4. 現在是嘗試儲存舊虛擬機器的時候了。關閉新虛擬機,然後將舊虛擬機的磁碟新增至新虛擬機並啟動新虛擬機。
  5. 嘗試安裝/dev/sdb2。如果系統提示您運行fsck,請執行此操作。
  6. 從舊虛擬機器中恢復可以恢復的內容。
  7. 請記住在備份設定中包含 的儲存庫/etc以及您可能在VM 中/usr/local執行的任何操作。/home

答案2

我有類似的東西 - Ubuntu 10.10 主機和 Ubuntu 10.10 來賓。

來賓 FS 已損壞並導致與上述相同的錯誤。

這是透過從 vdi 檔案安裝分割區並對其執行檔案檢查來解決的。

sudo vdfuse -g -f /media/ssdext4/UbuntuGuest.vdi /mnt/

現在您應該能夠使用“sudo ls -l /mnt/”列出 vdi 檔案中的分割區

現在運行 FS 檢查 - 使用完整路徑。 sudo fsck.ext4 /mnt/Partition1

我認為 vdfuse 應該是預設安裝的一部分。除非你有 vdfuse,否則我不知道該如何解決這些問題。

答案3

這不是最複雜的方法,但可能是最快的方法:將損壞的虛擬機器中的磁碟映像添加到新安裝的虛擬機器中,從那裡安裝它,複製$HOME、/etc 以及/var/{lib ,db, .. .}(或至少保留一份副本),您應該會在不到一小時的時間內恢復正常。

我猜想實際問題是由初始 ramdisk 無法正確發現和安裝虛擬磁碟設備引起的。因此,如果您以某種方式設法存取損壞的虛擬機器的檔案系統,您也可以嘗試以下操作:

mount /dev/sdbroken1 /mnt/brokendisk
for i in dev dev/pts proc sys; do
  mount --bind /$i /mnt/brokendisk/$i
done
chroot /mnt/brokendisk
update-initramfs -u -k all # regenerate initial ramdisk - look for errors
^D
reboot

答案4

我也有完全一樣的問題;還包括 live iso 的奇怪行為。

事實證明,問題出在 grub 以某種方式搞砸了 - 可能是由於主機系統進入睡眠狀態 [我這麼說是因為 Christis Bergeles 在同一台主機 (mac osx) 上描述了與我相同的問題http://christos.bergeles.net/blog/files/tag-grub.html]

將有問題的虛擬 HD 連接到另一個正在運行的 ubuntu 虛擬機器。

啟動進入該虛擬機

(接下來的兩行假設該虛擬機器的問題磁碟位於 /dev/sdb)

須藤掛載 /dev/sdb1 /mnt

sudo grub-install --root-directory=/mnt/ /dev/sda

為我工作 - 在這個問題的兩個不同的實例上。

提姆.

相關內容