Как восстановить MBR в Linux, или Ubuntu 8.04 на виртуальной машине

Изображение пользователя andyceo.

поищите в google по ключевым словам ubuntu logo - и найдёте эту картинку...

В начале было...

Вначале я немного коснусь предыстории вопроса, тем же читателям, кому прям не терпиться перейти прям к теме, обозначенной в заголовке, листайте ниже досюда. Остальным же сообщаю, что в качестве софта для создания и запуска виртуальных машин использую VMWare Server. Хостовая система - Vista BASIC.

Поставил себе на виртуальную машину Linux Ubuntu 8.04 - думал, запишу её виртуальный диск на флешку и буду таскать на работу, на учёбу, домой... Поставил, настроил, скачал обновления и нужный софт, всё круто, всё работает, доволен. И тут я вижу, что не могу скопировать виртуальный диск на флешку, т.к. он слишком большой! У меня флешка на 8 ГБ, а диск занимает 20 ГБ, хотя реальных данных там на 6-7 ГБ - как оказалось, при создании виртуальной машины я поставил ему размер 40 ГБ и чтобы он рос по мере надобности. Видимо виртуальная машина перестраховывается и жрёт больше, чем ей надо на самом деле.

К слову сказать, что я пробовал копировать динамически расширяющийся диск виртуальной машины на флешку - но когда место на флешке заканчивалось, виртуалка просто подвисала - поэтому надо создавать виртуальный диск размером меньше чем у вас размер флешки - чтобы не было таких казусов. И не забудьте, когда создаёте диск, попилить его на файлы размером до 2ГБ - т.к. на флешках файловая система, как правило, FAT или FAT32 - которая не поддерживает файлы размером больше 2ГБ (или 4-х, не помню уже) - следовательно вы не сможете скопировать файл диска размером, скажем, 6 ГБ, на флешку...

Ну а теперь сделаем ещё один шаг навстречу сабжу. Итак, я решил тупо скопировать нужные мне 6-7 ГБ полезных данных на новый виртуальный винчестер размером в 7 ГБ и уже с него грузить мою виртуальную Убунту. Как я это сделал?

  1. Создал и подключил к виртуальной машине новый винчестер размером 7 ГБ (типа IDE, галочка "Split disk into 2 GB files" установлена, в Advanced Settings установлена галочка "Independent" и радиокнопка "Persistent" - что означает, что на добавленный вами диск никак не будет влиять создание снимков состояния виртуальной машины («снапшотов») (это влияние галочки "Independent") и при этом виртуальный накопитель ведёт себя как обычное устройство хранения – все изменения диска сохраняются по мере работы с ним (это влияние радиокнопки "Persistent"). Подробнее о настройке вирутальных дисков в VMWare можно прочитать здесь.
  2. Запустил виртуальную машину с компакт-диска SystemRescueCD (очень полезная вещь, рекомендую всем админам и простым труженикам ИТ!)
  3. Запустил X-ы:
    startx
  4. Запустил под иксами прогу Gparted - которая позволяет размечать винчестеры и подчистую копировать разделы с одного винта на другой, а также изменять их размер, передвигать и т.п. и т.д. (в общем, прога является Open-Source аналогом всем известного Partition Magic)
  5. Разметил новый винт (создал Primary-раздел для основных данных, создал Extended-раздел, в нём создал ещё один раздел - его будет использовать линух в качестве виртуальной памяти)
  6. Скопировал Primary-раздел со старого винчестера на новый Primary-раздел нового винчестера

Собственно, всё. На этом шаге я выключил виртуальную машину, вытащил SystemRescueCD, удалил из виртуальной машины старый винт на 40 ГБ, вставил на его место старого (на место IDE 0:0), и включил виртуальную машину.

Тут-то меня и ждала засада, друзья. Ясень пень, что система не загрузилась - так как на новом винчестере отсутствует MBR - Master Boot Record - программа-загрузчик, которая присутствовала на старом винчестере. Как её скопировать на новый винт, будучи под загруженным SystemRescueCD - я не знал, активное гугление по этому поводу ничего не дало.

Я пол-воскресенья убил на то, чтобы выяснить, как же восстановить этот проклятый MBR под Linux. Оказалось, что загрузчиков под Linux целых несколько - lilo, grub, alt linux loader и наверное ещё и другие есть. Убунта использует grub. Нигде не нашёл простой инструкции. Перепробовал кучу вариантов, несколько раз восстанавливал виртуальную машину из бекапа... в общем, вашему вниманию представляю злосчастный сабж.

Как восстановить MBR под Linux Ubuntu, загрузчик grub

Итак, чтобы восстановить MBR под Ubuntu Linux, нужно:

  1. Загрузиться с помощью Live-CD Ubuntu (разумеется, я загружал свою виртуальную машину).
  2. Открыть консоль.
  3. Выполнить команду
    sudo grub
  4. Прошлым шагом вы запустили загрузчик grub под администратором. На этом шаге надо заставить его найти профиль загрузки на новом винте и восстановить MBR. Выполните команду
    find /boot/grub/stage1
  5. выполните команду
    root (hd0,0)
  6. И наконец, выполните команду
    setup (hd0)
  7. Выйдите из grub, закройте консоль, вытащите Live-CD и перезапустите машину.

Уррря! У меня на этом шаге всё заработало :) Виртуальная Убунта запустилась с нового винчестера. Чего и Вам желаю.

PS: Вот так и становятся линуксоидами...

Комментарии

Изображение пользователя cristobal-junta.

Virtual Box

Недостатком VMware является ее платность, скорость загрузки и требовательность к ресурсам.
Точнее, мне казалось, что VMware чертовски быстра и нетребовательна к железу до тех пор, пока я не попробовал бесплатную Virtual Box.
К тому же, имеется portable-версию Virtual Box от PortableApps.com.

Изображение пользователя andyceo.

Саш, я был бы

Саш, я был бы тебе безумно благодарен, если бы ты рассказал, как в VirtualBox в Убунте достичь разрешения более чем 800 на 600... Я пока не экпериментировал с установкой тулзов для гостевой ОС, т.к. запускал свою рабочую версию Убунты и боялся повредить... А поэкспериментировать меня останавливает куча негативных отзывов о том, что с экраном какие-то траблы возникают... а ещё для этого надо будет поставить другой видеодрайвер в Иксы Убунты - который будет установлен с этими тулзами. Соответсвенно, я так чувствую, что под VMWare я больше не загружусь (сейчас я могу загрузиться и исользуя VirtualBox, и VMWare, просто используя уже существующий виртуальный диск на флешке. При этом в VMWare я могу ставить любое разрешение экрана, а в VirtualBox - только 800 на 600 и не больше, не меньше).

А насчёт VirtualBOX Portable - если дашь ссылку, моя благодарность вообще не будет знать предела. Но мне кажется, что ты спутал с VirtualDub Portable - video processing and capture utility.

Изображение пользователя cristobal-junta.

VBox Portable

Хм... Пожалуй, я погорячился, сказав, что VBox Portable распространяет PortableApps.com... Мне что-то казалось, что я у них на сайте видел... Ну, ладно. Погугли по слову "PortableVirtualBox" - тебе вывалится масса ссылок на версию 1.5.6 - это то, что тебе нужно.

Ну так ты ставь новую Убунту на VBox, на нее Guest Additions, и будет тебе счастье с нужным тебе разрешением. Может, правда, придется /etc/X11/xorg.conf подправить.

Но VMWare - это не для нас! Если есть бесплатная альтернатива с открытым исходным кодом, то зачем использовать проприетарную неавторизованную версию?

Изображение пользователя andyceo.

VMWare частично свободен

Но VMWare - это не для нас! Если есть бесплатная альтернатива с открытым исходным кодом, то зачем использовать проприетарную неавторизованную версию?

Согласен с тобой, но хочу сказать несколько слов в своё оправдание защиту VMWare. Во-первых, у них часть продуктов проприетарная, часть - просто freeware, и есть даже Open Source.

Я использую VMware Server 1.0.6, который является свободным (в смысле бесплатным, но с закрытыми исходниками), и, насколько я понял, содержит в себе какой-то Open-Source код. Скачать этот сервер можно отсюда, а его Open-Source-модифицированный код - отсюда.

Там же, на сайте VMWare, можно совершенно бесплатно получить ключ для её свободных продуктов VMWare, заполнив анкету.

Так что у меня всё вполне себе легально :)

PS: А ещё можно юзать Qemu. :) Если уж совсем хочется "свободности". VirtualBox-то, тоже имеет две ветки - одна под GNU-GPL лицензией, а другая закрытая, просто фришная.

Изображение пользователя Brodnik.

спасибо

Хорошая инструкция из 7 коротких пунктов, все понятно :) У меня кстати тоже все заработало.

Изображение пользователя Нетребко.

Хорошая

Хорошая картинка для привлечения внимания к проблеме :)

Добавьте страницу в закладки. Перейти к верху страницы
Синдикация материалов