Tidak dapat boot setelah vhd hard drive diubah ukurannya di VirtualBox

15

Di Windows 7, saya mengatur VM Windows 7 lainnya di VirtualBox. Itu bekerja dengan baik. Kemudian, saya perlu meningkatkan ukuran HD VHD. Jadi, saya menggunakan utilitas VBoxManage untuk melakukan itu dengan komentar berikut:

VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000

Kemudian, saya mencoba menjalankan VM lagi tetapi tidak bisa di-boot dan memberi saya kesalahan berikut:

FATAL: Tidak ditemukan media yang dapat di-boot! Sistem dihentikan.

Kemudian, saya mencoba melihat apa yang terjadi di dalam VHD dan mencoba untuk melampirkannya di dalam Device Management dan dikatakan tidak dapat dilampirkan karena file atau direktori rusak dan tidak dapat dibaca .

Tahu apa yang salah di sini dan bagaimana saya bisa menyimpan VM saya di dalam file VHD itu?

tugberk
sumber
Saya hanya memiliki masalah yang sama persis dan saya tidak dapat menemukan solusi yang berguna secara online sehingga saya mulai menganalisis VHD dengan tangan sesuai dengan dokumentasi Microsoft. Saat ini tampaknya ada bug dalam implementasi memodifikasi di mana ia tidak menyesuaikan offset ke blok data setelah memperluas tabel alokasi blok. Saya perlu melakukan lebih banyak expriments untuk memverifikasi ini.
billc.cn
Pada VirtualBox 4.3.10, saya mengubah ukuran file .vhd. Sepertinya tidak hanya itu tidak menyesuaikan pointer tabel alokasi blok, tetapi memperluas tabel alokasi blok ke dalam blok data pertama, menimpa MBR dan tabel partisi saya .. Jangan gunakan VirtualBox untuk mengubah ukuran file .vhd!
Aaron

Jawaban:

12

Sayangnya dokumentasi VirtualBox untuk opsi VBoxManage --resize menyesatkan. Anda tidak bisa hanya meningkatkan ukuran gambar disk dan semuanya berfungsi dengan baik. Informasi partisi disk di dalam gambar harus disesuaikan sehingga sistem operasi tamu mengetahui tata letak "drive" yang disimulasikan gambar disk. Anda melakukan penyesuaian ini dengan mengunduh image CD yang dapat di-boot yang memiliki editor partisi dan mem-boot VM ke CD itu. Anda kemudian menggunakan editor partisi untuk menyesuaikan partisi image disk untuk menggunakan ruang yang ditambahkan.

Ada luput prosedur yang bagus di sini ; lewati saja ke langkah 4.

Kyle Jones
sumber
Nah, itu mengecewakan. Ini berarti bahwa saya baru saja membuang 3 jam kerja. Terimakasih atas infonya.
tugberk
4
Saya mengikuti writeup bagus (setelah saya mengubah ukuran vhd saya dan tidak bisa boot dari itu), dan GParted tidak menunjukkan partisi pada harddisk, hanya 50 gigs ruang yang tidak terisi. Apakah itu berarti modifyhdmerusak drive yang tidak dapat diperbaiki?
GSerg
1

Saya memiliki masalah yang sama dan saya berhasil mengambil data menggunakan LiveCD GParted

  1. Buat VHD baru untuk menerima data yang disalin (buat partisi dan format)
  2. Unduh LiveCD GParted dan boot di VirtualBox
  3. Pilih Perangkat -> Mencoba Penyelamatan Data
  4. Klik OK dan setelah Lihat Pindai klik (ini akan me-mount / tmp / gparted-roview-XXXXXX)
  5. Di terminal, pasang VHD kedua (sudo mount / dev / sdb1 / mnt)
  6. Salin file (sudo cp -R / tmp / gparted-roview-XXXXXX / * / mnt

Setelah itu Anda dapat mematikan Mesin Virtual dan memasang VHD pada Windows Device Manager.

Edison Henrique Andreassy
sumber
1

Di sini mereka menjelaskan masalahnya (dalam bahasa Spanyol)

Ringkasan:

Sebuah. "vboxmanage modifiedhd (resize)" menghasilkan kesalahan di banyak sistem (versi Windows NT5, 9x, Server dan x86). Hasilnya adalah partisi yang rusak, sangat sulit untuk dipulihkan

b. Anda perlu menjalankan "vboxmanage modifiedhd (resize)" (untuk mengubah ukuran VDI) Di jalur yang berisi semua file dan folder yang terkait dengan VDI. Lihatlah gambarnya

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Rekomendasi:

Ganti "vboxmanageodifikasihd" dengan "vboxmanage clonehd"

  1. Buat VDI disk virtual baru (Dengan ukuran yang ingin Anda kembangkan). Contoh: Old.vdi punya 50gb. New.vdi buat dengan 100GB

    VBoxManage createhd --filename /path/New.vdi --size 100000

  2. Clone dengan perintah berikut:

    vboxmanage clonehd /path/Old.vdi /path/New.vdi - ada

Catatan : Kedua VDI seharusnya tidak berada di jalur yang sama

  1. Jalankan New.vdi dan buka Windows Computer Management dan Perpanjang ruang disk (tetapkan ruang kosong). Jika Anda tidak ingin melakukannya secara manual, Anda dapat menggunakan aplikasi pemartisian gratis apa pun, seperti AOMEI Partition Assistant Standard , GParted , dan banyak lainnya.

sumber
perbarui jawabannya
0

Perlu dicatat, bahwa saya mendapatkan masalah yang sama persis, yang karena itu saya mengeluarkan perintah modifikasi saat tamu sedang berjalan. Dokumentasi resmi tidak mengatakan apa-apa tentang, bahwa Anda harus menghapus snapshot terlebih dahulu dan tamu itu harus dihentikan.

Rencana saya adalah mengubah ukuran disk ketika mesin sedang berjalan karena saya punya volume dinamis yang juga dapat ditingkatkan dengan cepat. Namun, ini adalah ide yang buruk ketika saya reboot mesin untuk mendapatkan ukuran disk penuh saya dibiarkan dalam kegelapan dengan gambar yang rusak, yang saya tidak dapat mengembalikan bahkan dengan testdisk. Testdisk menemukan partisi tetapi sistem file rusak parah dan tidak dapat diperbaiki.

Jadi maklum:

  1. Gabungkan semua Foto ke dalam Gambar Dasar
  2. Matikan OS Tamu

Saya telah mengulangi prosedur pada mesin saya dengan gambar cadangan dan os tamu dimatikan, ini bekerja dengan baik.

Carsten Menke
sumber
0

Saya dapat memulihkan gambar yang rusak oleh bug ini. Tidak seperti Edison, gambar langsung yang disiarkan tidak menemukan apa pun. Inilah yang saya lakukan:

  • Pertama, karena tampaknya dukungan VBox untuk VHD buggy dan mengerikan, mulailah dengan mengubah VHD menjadi VDI VBoxManage clonehd foo.vhd --format vdi foo.vdi. Ketika saya melewatkan langkah ini, saya bisa memulihkan file dari gambar tetapi itu akan "pecah sendiri" lagi setelah beberapa reboot. Saya menduga bug benar-benar mengacaukan file VHD dengan cara yang nantinya saya / O "istirahat" itu ... VBox tampaknya tidak memiliki masalah dengan VDI jadi saya menyerah pada VHD.

  • Boot ke WinPE, Lingkungan Preinstallasi Windows. Cara melakukan ini bisa menjadi artikel tersendiri. Jika Anda tidak terbiasa dengan ini, inilah jalan pintas: Boot dari Windows Setup DVD (Vista atau lebih tinggi) dan tekan shift-F10 setelah GUI muncul, itu akan memberi Anda prompt perintah.

  • Unduh testdisk , temukan cara untuk memasukkannya ke gambar WinPE Anda (atau USB stick sederhana akan berfungsi), dan jalankan dari lingkungan WinPE. (Catatan: WinPE tidak memiliki WOW64, lapisan kompatibilitas 32-bit untuk aplikasi 32-bit. Karenanya pengaturan WinPE 64-bit saya memerlukan biner testdisk 64-bit.)

  • Testdisk menemukan partisi dan memulihkannya.

  • Pada titik ini file telah dipulihkan tetapi bootloader gagal karena beberapa masalah. Pertama saya menggunakan diskpartuntuk menandai partisi aktif ( list disk, sel disk <disk number>, sel par 0, active). Lebih jauh, tidak akan bisa boot. Kembali ke WinPE dan dihapus \boot, lalu jalankan bcdboot C:\windows /s C:untuk menginstal ulang bootloader.

  • Pada akhirnya saya berlari chkdisk /Runtuk memastikan gambarnya ok. Butuh beberapa jam, tidak menemukan masalah.

asveikau
sumber
-1

Saya memiliki masalah yang sama, GParted tidak mengenali partisi sama sekali, dan itu ditampilkan sebagai ruang yang tidak terisi. Pada titik ini saya mengerti bahwa data bisa saja hilang.

Lalu saya ingat menggunakan testdisk untuk mencari partisi yang hilang pada hard drive, jadi mengapa tidak mencobanya di disk virtual? dan itu berhasil.

  1. Boot dari GParted, pada saat penulisan balasan ini, GParted memiliki "testdisk" di dalamnya. Jalankan saja terminalnya, jalankan "sudo testdisk / dev / sda" atau apa pun yang muncul di komputer Anda. Jalankan "sudo fdisk -l" untuk menampilkan semua disk.
  2. Menganalisis Tabel Partisi, ia akan menemukan partisi segera, karena masih di sektor pertama. Tulis partisi baru, tabel, lalu lanjutkan dengan GParted untuk melanjutkan pemulihan, seperti yang diperintahkan dalam tautan ini: http://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox -atau vmware /
  3. Lain kali Anda ingin melakukan ini, buat salinan VDISK Anda terlebih dahulu.
  4. Saya perhatikan di tautan di bawah ini bahwa mereka membuat VHD baru kemudian dikloning dengan --existing: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual- box-vdi-dis / Saya belum mencoba, tetapi saya memulihkan disk saya dengan instruksi di atas.

Semoga itu bisa membantu seseorang.

Yousef
sumber
Silakan kutip bagian-bagian penting dari jawaban dari tautan referensi, karena jawabannya bisa menjadi tidak valid jika halaman yang tertaut berubah.
DavidPostill