Як запускати update-grub?


25

Я ввійшов до Live CD і активував термінал. Потім я набрав, gksu nautilusщоб отримати тимчасовий доступ до мого кореневого каталогу. Як тільки відкрилося вікно «Менеджер», я натиснув «Файлова система» і перейшов до /etc/default/grubкаталогу. Потім я двічі клацнув файл Grub, щоб внести зміни до TIMEOUTта TIMEOUT_QUIET.

Я зберег файл після внесення змін. Потім я повернувся до термінального режиму і набрав:

gksu update-grub

Повідомлення про помилку, яке я отримав:

Не вдається знайти пристрій для / (встановлений / розроблений?)

Я не впевнений, що робити в цей момент. Як запустити update-grubоновлення змін? Заздалегідь дякую за вашу допомогу. Будьте дуже детальні та конкретні з вашою відповіддю, оскільки я абсолютно нова в цьому середовищі.

Відповіді:


24

Фаза 1 - Примітка: не використовуйте живий компакт-диск.

  • У вашому Ubuntu відкрийте термінал (натисніть Ctrl+ Alt+ Tодночасно)
  • Тип gedit admin:///etc/default/grub
    Це запустить текстовий редактор gedit , якщо ви використовуєте інший, просто введіть його ім'я замість gedit.
  • Внесіть зміни, які ви хочете внести, і збережіть їх.
  • Закрити гедіт.
    Ваш термінал все ще повинен бути відкритим.
  • У термінальному типі sudo update-grubзачекайте, коли оновлення закінчиться.
  • Перезавантажте комп'ютер.

Фаза 2 - Після входу в систему

  • Знову відкрийте термінал ( Ctrl+ Alt+ T).
  • Введіть термінал gksu gedit /etc/default/grub
  • Щоб побачити меню grub під час завантаження,
    прокоментуйте або видаліть такий рядок:GRUB_HIDDEN_TIMEOUT=0
    • Щоб коментувати, додайте #на початку цього рядка, результат буде#GRUB_HIDDEN_TIMEOUT=0
  • Збережіть файл.
  • Знову в терміналі sudo update-grub.

Якщо ви бачите меню grub під час завантаження - це єдине, що ви хочете, ви повинні скасувати попередні зміни у файлі.


Дякую за Вашу відповідь. Первісна проблема, яку я намагаюся вирішити, - це те, що я не можу відкрити меню груб. Тому я подумав, що мені потрібно використовувати Live CD для доступу до файлу конфігурації grub та внесення змін. Я прочитав, що якщо змінити TIMEOUT на 10 і TIMEOUT_QUIT на true, я зможу отримати доступ до меню Grub. Коли я завантажую систему, я утримую клавішу shift. Я бачу, як слова GRUB MENU спливають на частку секунди. Отже, не маючи змоги використовувати Живий компакт-диск для доступу до Терміналу, я втрачаю питання про те, як змінити конфігураційний файл GRUB. Будь-які пропозиції, як це досягти?
newbietoubu

Я думаю, що Єрейн прямо відповів на це. Можливо, ви намагаєтесь змінити меню grub, перебуваючи в grub ???
pfeiffep

2
Дивіться мій покращений передвідник.
jeroen

6

Ви отримуєте це повідомлення, оскільки Live CD не монтує файлову систему, що записується. Він призначений лише для тестування Ubuntu або для порятунку пошкодженої системи. Виконання sudo update-grubлише роботи на встановленій версії Ubuntu, де у вас є доступ для запису до базових файлів GRUB (а на Live CD - ні).


4
Хороша інформація, але ОП також хотів би знати, як він може внести зміни, які він хоче, /etc/default/grubі потім update-grub.
chaskes

2

Ви можете зробити update-grub з живого компакт-диска на встановленому дистрибутиві Ubuntu Distro (хоча я припускаю, що це працює з будь-яким [Linux, що базується на Debian?]). Це "потрібно" (можуть бути інші методи, але знаючи цього, я не знаю я взагалі не переймаюся ними) якщо ви клонуєте свій диск і вже встановили новий на комп’ютер. Я згадую клонування тут широко, тому що в деякому сенсі крок оновлення-grub - це його підмножина, і підходи мають однаковий Крім того, цей метод був виявлений шляхом пошуку в контексті клонування. Ви можете взяти все, що вам потрібно, якщо ви не клонуєте, і ваш процес буде спрощений.

Я мав би це кваліфікувати тут; що важливо для клонування, а не важливо для того, щоб просто робити оновлення-grub: я це робив лише для систем BIOS. Я не робив цього в системі UEFI. Система UEFI вимагає розділу FAT для завантаження завантаження, і я не перевіряв, чи повинен цей розділ просто прийматись під час етапів копіювання клонування. Я очікую, що це вплине на необхідний монтаж [bind-], який синтезує рідне середовище grub під час сеансу в реальному часі ...

Про це детально описано на цій сторінці: http://frugaltech.happystoic.com/ssdlinux . Я багато разів використовував цей метод, і ви можете міняти жорсткі диски навколо ad-infinitum, використовуючи його. Обмін фізичними жорсткими дисками стає таким тривіальним, що це спокуса зробити його власним хобі та / або спробувати виправити заплутані комп'ютери інших людей.

Наступне може бути корисним переказам того, що ви знайдете там:

  1. Ctrl+ Alt+ Tдля терміналу Bash і введіть оболонку суперрусера ( sudo -s) під час прямого сеансу.

  2. змонтуйте повний розділ диска встановлення (той, який є [або стане] вашою постійною кореневою каталогом файлової системи Linux).

    2а. Якщо на вашому жорсткому диску вже існує повна інсталяція, перейдіть до (2). ЯКЩО ви КЛОНУЄТЬСЯ: [виходячи з припущення, що ви не робите нову інсталяцію, оскільки в цьому випадку це все повністю автоматично], якщо ваша повна інсталяція вже не існує на цьому розділі, тепер саме час просто

    rsync -a /existing/linux/filesystem/live-mount-point/ /new/linux/filesystem/live-mount-point/ 
    

    [ці точки монтажу суто відносяться до середовища живого сеансу - в Ubuntu вони, як правило, мають форму "/ media / ubuntu / ???"] на новому диску [розділі].

    2б. Інші повні встановлення операційної системи тут можна обробляти так само. Я зазвичай використовував ресурс на базі Windows, щоб заздалегідь скопіювати розділи Windows на нові диски, але я також використовував rsync, і він працював для Win XP (якщо вважати, що у вас є підтримка правильного формату розділів, наприклад ntfs; я думаю, що ЗМІ в прямому ефірі зазвичай включають підтримку альтернативного формату). Будьте обережні щодо написання і використовуйте трейлінг /у вихідному каталозі, якщо ви повністю називаєте ціль.

  3. прив’яжіть-монтуйте живі /dev, /procта /sysкаталоги до відповідних каталогів на [змонтованому] постійному розділі повної інсталяції, який ви хочете використовувати. Сценарій, детально описаний у посиланні вище, виконує це дуже елегантно із заявою "для". Крім того, даний сценарій сам по собі не потрібно виконувати як сценарій. Він може бути введений з підказки bash, рядок за рядком.

  4. chrootна постійний розділ для повного встановлення. Після виконання (3) і (4) система тепер "практично знаходиться" у вашій "кінцевій файловій системі", і GRUB буде функціонувати однорідно. Без цих кроків груб припустить, що ваша система є просто живою сесією, і я не знаю конкретно, що вона робить у такому випадку, але в достатній мірі це не бажаний результат, про який було сказано вище в цій темі.

  5. запустіть grub-install на /dev/sdX(диск, а не точка монтажу), що відповідає постійній установці (або залежно від того, який диск буде розміщувати GRUB, якщо система з кількома приводами [, багатозавантажувальна система]). Гнучкість тут може залежати від вашого урожаю та BIOS. Наскільки я знаю, що запуск "grub-install" не робить нічого шкідливого, якщо це не потрібно, тому я завжди це роблю, якщо використовую цей метод живого сеансу.

  6. запустіть update-grub, і він буде діяти так, ніби запущена система вкладена в майбутньому постійному розділі, відкриваючи всі ядра та завантажувальні ОС, які у вас можуть бути доступні.

  7. Якщо ви фізично не змінили жорсткі диски, перейдіть до (5). В іншому випадку відредагуйте або підтвердьте свій /new/linux/filesystem/live-mount-point/etc/fstabфайл, щоб забезпечити правильну структуру файлової системи для вашого [нового] ​​середовища. Якщо ви перебуваєте на цьому рівні, ви напевно вже знаєте про використання blkid для збирання UUID для fstab.

    IMHO: Ви завжди повинні використовувати UUID у fstab (не у формі "dev / sdXY"), оскільки в своєму власному обсязі він не захищений від переконфігурації фізичного жорсткого диска, окрім ступеня, до якої потрібні буквальні оновлення значень UUID (наприклад, якщо у якийсь момент у майбутньому ви встановлюєте додатковий жорсткий диск для вашого / домашнього каталогу тощо). Це просто найбільш фундаментальний, надійний та інваріантний підхід.

  8. вийдіть з chroot, вийдіть із верхньої оболонки, вийдіть з башти, вимкніть та запустіть систему без живого носія. Тепер ви повинні бути там, де ви задумали.

    Важливо ПРИМІТКА. Аргументи для mount та chrootкаталогів (як правило, MOUNT POINTS, такі як /mnt/??або /media/??), відповідають поточному сеансу. У більшості випадків, якщо не у всіх випадках повна інсталяція знаходиться у власному розділі, тому терміни "каталог" та "точка монтажу" тут по суті є синонімами. Аргумент для встановлення grub - це ФІЗИЧНИЙ Драйв (загалом /dev/sdX, де "X" - це літера, що відповідає диску в вашій системі, sda, sdb тощо, і це не повинно залежати від сеансу).

Тепер вам слід зробити. Я одночасно клонував Windows (XP та 7) у різних перестановках поряд з Ubuntu та Puppy, використовуючи цей метод, і це не підвело мене. Я думаю, ви можете використовувати живий носій іншого дистрибутива (я для цього використовував лише різні аромати Ubuntu та Mint), якщо вони надають версію GRUB, яку ви збираєтесь використовувати. Ви можете переміщати розділи навколо, міняти диски, комбінувати інші встановлення ОС та клонувати на SSD або з нього. Я можу говорити з ним лише в тій же машині. Я припускаю, що драйвери, які можуть знадобитися для іншої машини, можуть бути пропущені під час попереднього повного встановлення. Моє правило - перемикання накопичувачів на комп’ютері вимагає цього способу, але для перемикання комп'ютерів із приводом потрібна повна [повторна] установка.

Можливо, хтось може розвінчати це ..?


1
Ласкаво просимо до Ask Ubuntu! :-) Відмінна перша відповідь! +1
Фабі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.