Відновлення 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 на потрібний диск. Можна знову завантажуватися з цього диска.