Не вдається завантажитися після зміни жорсткого диска vhd у VirtualBox


15

У Windows 7 я встановив ще один VM Windows 7 у VirtualBox. Це спрацювало чудово. Потім мені потрібно було збільшити розмір HD HD. Отже, я скористався утилітою VBoxManage для цього з наступним коментарем:

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

Потім я спробував запустити VM ще раз, але це не може бути завантажено, і видає мені таку помилку:

ФАТАЛ: Завантажувальний носій не знайдено! Система зупинена.

Потім я спробував побачити, що відбувається всередині VHD, і спробувати приєднати його всередині управління пристроями, і він говорить, що його не можна приєднати, оскільки файл чи каталог пошкоджені та нечитабельні .

Будь-яка ідея, що тут пішло не так і як я можу зберегти свій VM у файлі VHD?


У мене просто була та сама проблема, і я не зміг знайти жодного корисного рішення в Інтернеті, тому я почав аналізувати VHD вручну відповідно до документації Microsoft. В даний час, здається, є помилка в реалізації modifyhd, коли вона не коригувала зсув для блоків даних після розширення таблиці розподілу блоків. Мені потрібно зробити ще кілька прикладів, щоб це підтвердити.
billc.cn

У VirtualBox 4.3.10 я змінив розмір файлу .vhd. Схоже, він не тільки не коригував покажчики таблиці розподілу блоків, але розширив таблицю розподілу блоків на перший блок даних, перезаписавши мою таблицю MBR та розділів. Не використовуйте VirtualBox для зміни розміру файлів .vhd!
Аарон

Відповіді:


12

На жаль, документація VirtualBox для параметра VBoxManage --resize вводить в оману. Ви не можете просто збільшити розмір зображення диска і зробити все належним чином. Інформація про розділи диска в межах зображення повинна бути відрегульована так, щоб гостьова операційна система знала макет "диска", який імітує зображення диска. Ви можете виконати це коригування, завантаживши завантажувальний образ CD з редактором розділів на ньому та завантаживши VM на цей компакт-диск. Потім ви використовуєте редактор розділів, щоб налаштувати розділи образу диска для використання додаткового простору.

Там хороша рецензія процедури тут ; просто перейдіть до кроку 4.


Ну, це облом. Це означає, що я щойно викинув 3 години роботи. Дякую за інформацію.
буксир

4
Я дотримувався приємного запису (після того, як я змінив розмір свого vhd і не зміг завантажитися з нього), і GParted не показав жодних розділів на жорсткому диску, лише 50 гігів нерозподіленого простору. Це означає, що modifyhdвикрутили привід після ремонту?
GSerg


1

У мене була така ж проблема, і мені вдалося отримати дані за допомогою GParted LiveCD

  1. Створіть новий VHD для отримання скопійованих даних (створіть розділи та формат)
  2. Завантажте GParted LiveCD та завантажтесь на VirtualBox
  3. Виберіть Пристрій -> Спроба порятунку даних
  4. Натисніть кнопку ОК і після сканування натисніть «Переглянути» (це змонтує / tmp / gparted-roview-XXXXXX)
  5. На терміналі монтуйте другий VHD (sudo mount / dev / sdb1 / mnt)
  6. Скопіюйте файли (sudo cp -R / tmp / gparted-roview-XXXXXX / * / mnt

Після цього ви можете відключити віртуальну машину та встановити VHD на диспетчері пристроїв Windows.


1

Тут вони пояснюють проблему (іспанською мовою)

Підсумок:

а. "vboxmanage modifyhd (resize)" створює помилки в багатьох системах (версії Windows NT5, 9x, Server та x86). Результат - корумпована перегородка, її дуже важко відновити

б. Вам потрібно виконати "vboxmanage modifyhd (resize)" (щоб змінити розмір VDI) На шляху, який містить усі файли та папки, пов'язані з VDI. Подивіться на зображення

введіть тут опис зображення

введіть тут опис зображення

Рекомендація:

Замініть "vboxmanage modifyhd" на "vboxmanage clonehd"

  1. Створіть новий віртуальний диск VDI (За допомогою розміру, який потрібно розширити). Приклад: Old.vdi мав 50gb. New.vdi створити його зі 100 Гб

    VBoxManage createhd - ім'я файлу / path/New.vdi - розмір 100000

  2. Клоніруйте його наступною командою:

    vboxmanage clonehd /path/Old.vdi /path/New.vdi - існуючий

Примітка : Обидва VDI не повинні знаходитися на одному шляху

  1. Запустіть New.vdi та перейдіть до управління комп'ютером Windows та розширіть простір на диску (призначте порожній простір). Якщо ви не хочете робити це вручну, ви можете використовувати будь-яку безкоштовну програму розділення, наприклад AOMEI Partition Assistant Standard , GParted та багато інших.

оновіть відповідь

0

Варто зазначити, що у мене виникла точно така ж проблема, яка була пов'язана з тим, що я видав команду modifyhd, поки гість працював. В офіційній документації нічого не сказано про те, що ви повинні спочатку видалити знімки, і що гостя повинно було бути зупинене.

Мій план полягав у зміні розміру диска під час роботи машини, оскільки у мене динамічний об'єм, який також можна збільшити на ходу. Однак це була погана ідея, коли я перезавантажив машину, щоб отримати повний розмір диска, який я залишив у темряві із пошкодженим зображенням, яке я не зміг відновити навіть не за допомогою тестового диска. Testdisk знаходить розділи, але файлова система сильно пошкоджена і не може бути відновлена.

Тож радимо:

  1. Об’єднайте всі знімки в базове зображення
  2. Вимкніть гостьову ОС

Я повторив процедуру на своїй машині із резервним зображенням та вимкненням гостя, це працює добре.


0

Мені вдалося відновити зображення, яке було порушено цією помилкою. На відміну від Едісона, розкритий живий образ нічого не знайшов. Ось що я зробив:

  • По-перше, оскільки, очевидно, підтримка VBox для VHD є клопіткою і жахливою, почніть з перетворення VHD на VDI VBoxManage clonehd foo.vhd --format vdi foo.vdi. Коли я пропустив цей крок, я міг відновити файли із зображення, але він знову "зламається" після декількох перезавантажень. Я здогадуюсь, що помилка дійсно накручує файл VHD таким чином, що пізніше введення-вивід "повторно ламає" його ... VBox, схоже, не має цих проблем з VDI, тому я відмовився від VHD.

  • Завантажтеся в WinPE, середовище передвісної установки Windows. Як це зробити, може бути стаття для себе. Якщо ви не знайомі з цим, ось ярлик: завантажтесь із DVD із встановленням Windows (Vista чи вище) та натисніть shift-F10, як тільки з'явиться графічний інтерфейс, він дасть вам командний рядок.

  • Завантажте testdisk , знайдіть спосіб нанести його на своє зображення WinPE (або простий USB-накопичувач працює) та запустіть його з середовища WinPE. (Примітка. У WinPE не вистачає WOW64, 32-розрядного шару сумісності для 32-бітних додатків. Тому для моєї 64-розрядної установки WinPE потрібен 64-розрядний двійковий код testdisk.)

  • Testdisk знайшов розділи та відновив їх.

  • У цей момент файли були відновлені, але завантажувач не вдався до кількох проблем. По- перше я використовував , diskpartщоб відзначити розділ як активний ( list disk, sel disk <disk number>, sel par 0, active). Подальше, не завантажувався б. Повернувся до WinPE та видалив \boot, а потім побіг bcdboot C:\windows /s C:перевстановити завантажувач.

  • Наприкінці я побіг, chkdisk /Rщоб переконатися, що з зображенням все в порядку. Пройшов кілька годин, не знайшов жодних проблем.


-1

У мене була така ж проблема, GParted взагалі не розпізнав розділи, і це було показано як нерозподілений простір. У цей момент я зрозумів, що дані можуть бути втрачені.

Тоді я згадав використовувати testdisk для пошуку втраченого розділу на жорстких дисках, так чому б не спробувати його на віртуальних дисках? і це спрацювало.

  1. Завантаження від GParted, під час написання цієї відповіді, GParted мав "testdisk" всередині нього. Просто запустіть термінал, запустіть "sudo testdisk / dev / sda" або все, що відображається на вашому комп'ютері. Запустіть "sudo fdisk -l", щоб показати всі диски.
  2. Проаналізувавши таблицю розділів, вона виявить розділ негайно, оскільки він все ще знаходиться в перших секторах. Напишіть новий розділ, таблицю, а потім продовжте GParted, щоб продовжити відновлення, як зазначено в цьому посиланні: http://www.howtogeek.com/124622/how-to-enlarge-a-virtual-machines-disk-in-virtualbox -і-vmware /
  3. Наступного разу, коли ви захочете це зробити, спочатку зробіть копію свого VDISK.
  4. У нижченаведеному посиланні я помітив, що вони створюють новий VHD, а потім клонують із - існуючим: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual- box-vdi-dis / Я ще не пробував, але я відновив свій диск з вищезазначеними інструкціями.

Сподіваємось, що хтось допомагає.


Будь ласка, цитуйте основні частини відповіді із посилальних посилань (ив), оскільки відповідь може стати недійсною, якщо змінена сторінка (и) зміниться.
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.