Відновлення grub2 з livecd

Для початку нам потрібно буде дізнатися, на якому диску і на якому розділі встановлено Ubuntu. якщо ви не пам'ятаєте цього - скористайтеся командою


Для роботи нам знадобиться / -розділ (root). прімонтіруйте його командою

sudo mount / dev / sda5 / mnt
sudo mount / dev / sda3 / mnt / boot


Також монтуємо папку / dev нашої live-системи як / dev нашого root-розділу:

sudo mount --bind / dev / mnt / dev


і папку / proc як / proc root-розділу:

sudo mount --bind / proc / mnt / proc


Тепер виконуємо наступну команду:

sudo chroot / mnt / bin / bash


Тепер ви - root-користувачів в системі, кореневих розділом якої вважається / mnt, тобто кореневий розділ вашої справжньої системи. і ось ми готові оновити MBR-розділ жорсткого диска, перевстановити grub2. але для початку нам потрібно визначитися, з якого фізичного диска завантажується наш комп'ютер. якщо у вас один жорсткий диск, розбитий на розділи - він буде називатися sda. якщо кілька - перший з них - sda, другий - sdb, і так далі. якщо ви не знаєте, який жорсткий диск встановлений в якості завантажувального, подивіться відповідну опцію в BIOS. зазвичай жорсткий диск вказано за моделлю (наприклад, так: ST9160310AS). щоб дізнатися, якого диску в системі відповідає дана модель, виконайте таку команду:

for d in / dev / sd [a-z]; do echo "$ d: $ (sudo hdparm -I $ d | grep -i 'model')"; done


Крім того, в Ubuntu 9.10 можна скористатися утилітою palimpsest ( "система - адміністрування - дискова утиліта").
визначившись з завантажувальним диском (в нашому прикладі - sda), ставимо на нього grub2:


Якщо ви зіткнетеся з якими-небудь помилками - спробуйте перезапустити команду з ключем --recheck:

grub-install --recheck / dev / sda


Зверніть увагу: ми встановлюємо grub2 на фізичний диск (sda, sdb.), А не на розділ (sda3, sdb1.)!

Якщо все пройшло успішно, виходимо з chroot командою


Отмонтіруем наші диски і папки:
/ Dev нашої live-системи:

sudo umount / mnt / dev

sudo umount / mnt / proc


boot-розділ, якщо такий монтувався окремо:

sudo umount / mnt / boot

і власне, кореневий розділ:

sudo umount / mnt


Усе! Перезавантажуємося, відновлюємо порядок завантаження в BIOS (ставимо жорсткий диск на перше місце) і дивимося результат.

СПОСІБ 2 (без chroot)

Нам знову ж знадобиться LiveCD Ubuntu 9.10 або іншої системи з підтримкою grub2. На відміну від попереднього способу, ми не будемо запускати інсталятор через chroot, що дозволить скоротити кількість необхідних дій. Отже, завантажується з обраного LiveCD, запускаємо консоль. Замість використання chroot ми скористаємося ключем "--root-directory". Але для початку переконаємося, що дана опція підтримується нашої live-системою. Якщо ви працюєте з Ubuntu 9.10 Desktop, можна не хвилюватися. В іншому випадку виконайте


Якщо в описі опцій присутній вищезгаданий ключ "--root-directory" - все в порядку. Тепер нам потрібно примонтировать кореневий розділ системи. Якщо ви не пам'ятаєте, на якому розділі встановлено систему, вам допоможе


або ж можна глянути


Різниця лише в формі виведення інформації. Визначившись з кореневим розділом, монтуємо його. Нехай у нашому прикладі це буде sda5:

sudo mount / dev / sda5 / mnt


Якщо у вас виділений окремий boot-розділ, прімонтіруйте і його. Припустимо це sda2

sudo mount / dev / sda2 / mnt / boot


Тепер переходимо власне до установки grub2. Ключ "--root-directory" дозволяє вказати, що використовувати в якості кореневої директорії. Нам потрібен кореневий розділ нашої системи, який примонтовано в / mnt. Тому виконуємо:

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


Як і в попередньому способі, grub2 встановлюється на фізичний диск, а не на розділ! Як диска потрібно вказати той диск, який встановлений завантажувальним в bios. Якщо все пройде успішно, установник виведе повідомлення про успішне завершення і список виявлених розділів, які були додані в "device.map". Якщо все це є - отмонтіруем диски і перезавантажуємося. Якщо буде виведений неповний список розділів - відредагуйте файл "device.map" в кореневій папці встановленої системи (в описаному прикладі - "/mnt/boot/grub/device.map") виправляємо його, додавши інші диски і скорегувавши нумерацію. Файл повинен мати вигляд

(Hd0) / dev / sda (hd1) / dev / sdb


При необхідності повторюємо операції для всіх жорстких дисків. Зберігаємо файл і повторно виконуємо команду

як описано вище. Тепер повинен відобразитися правильний список дисків. Отмонтіруем диски і перезавантажуємося.

СПОСІБ 3 (зовсім простий)

У разі, якщо потрібно тільки відновити MBR диска (наприклад, після (пере) установки Windows), все можна зробити ще простіше, взагалі нічого не монтуючи. Вантажимося з LiveCD. Визначаємо потрібний жорсткий диск за допомогою "sudo fdisk -l". Якщо він єдиний - значить, sda. вводимо команду

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


змінивши / dev / sda на потрібний диск. Можна знову завантажуватися з цього диска.