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

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

Я зашел в Live CD и активировал Terminal. Затем я набрал , gksu nautilusчтобы получить временный доступ к моему корневому каталогу. После того, как открылось окно Manager, я нажал File System и перешел в этот /etc/default/grubкаталог. Затем я дважды щелкнул по файлу Grub, чтобы внести изменения в TIMEOUTи TIMEOUT_QUIET.

Я сохранил файл после внесения изменений. Затем я вернулся в режим терминала и набрал:

gksu update-grub

Я получил следующее сообщение об ошибке:

Невозможно найти устройство для / (смонтировано ли /dev?)

Я не уверен, что делать на этом этапе. Как мне запустить update-grubобновление изменений? Заранее спасибо за помощь. Пожалуйста, будьте очень подробны и конкретны в своем ответе, так как я совершенно новичок в этой среде.

решение1

Фаза 1. Примечание: не используйте Live CD.

  • В Ubuntu откройте терминал (нажмите Ctrl+ Alt+ Tодновременно)
  • Типgedit admin:///etc/default/grub
    Это запустит текстовый редактор.gedit, если вы используете другой, просто введите его имя вместо 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 при загрузке, вам следует отменить предыдущие изменения в файле.

решение2

Вы получаете это сообщение, потому что Live CD не монтирует записываемую файловую систему. Он предназначен только для пробного запуска Ubuntu или для восстановления поврежденной системы. Выполнение sudo update-grubработает только на установленной версии Ubuntu, где у вас есть доступ на запись к основным файлам GRUB (а на Live CD его нет).

решение3

Вы можете выполнить update-grub с live CD на установленном дистрибутиве Ubuntu (хотя я предполагаю, что это работает с любым [основанным на Debian?] дистрибутивом Linux. Это «обязательно» (могут быть и другие методы, но, зная этот, я вообще не забочусь о них), если вы клонируете свой диск и уже установили новый на компьютер. Я упоминаю клонирование здесь подробно, потому что в некотором смысле шаг update-grub является его подмножеством, и подходы имеют ту же основу во время live-сессии. Кроме того, этот метод был обнаружен путем поиска в контексте клонирования. Вы можете взять из него то, что вам нужно, если вы не клонируете, и ваш процесс будет упрощен.

Я должен уточнить это здесь; важно для клонирования, не важно для простого выполнения update-grub: я делал это только на системах BIOS. Я не пробовал это на системе UEFI. Система UEFI требует раздел FAT для загрузки, и я не проверял, должен ли этот раздел просто идти вместе с вами во время шагов копирования клонирования. Я ожидаю, что это влияет на требуемое [bind-]монтирование, которое синтезирует собственную среду grub во время сеанса live...

Подробности на этой странице:http://frugaltech.happystoic.com/ssdlinux. Я использовал этот метод много раз, и вы можете менять жесткие диски до бесконечности, используя его. Замена физических жестких дисков становится таким тривиальным способом, что возникает соблазн сделать это своим хобби и/или попытаться починить испорченные компьютеры других людей.

Ниже приведен полезный пересказ того, что вы там найдете:

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

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

    2a. Если полная установка уже существует на вашем жестком диске, перейдите к (2). ЕСЛИ вы КЛОНИРУЕТЕ: [исходя из предположения, что вы не делаете новую установку, так как в этом случае все происходит полностью автоматически] если ваша полная установка еще не существует на этом разделе, сейчас самое время просто

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

    [эти точки монтирования относятся исключительно к среде сеанса реального времени — в Ubuntu они обычно имеют вид "/media/ubuntu/???"] на новый диск [раздел].

    2b. Полные установки других операционных систем можно обрабатывать таким же образом. Я обычно использовал ресурс на базе Windows для массового копирования разделов Windows на новые диски заранее, но я также использовал rsync, и это сработало для Win XP (при условии, что у вас есть поддержка правильного формата раздела, например ntfs; я думаю, что носители сеанса в реальном времени обычно включают поддержку альтернативных форматов). Просто будьте внимательны с орфографией и используйте завершающий символ /в исходном каталоге, если вы полностью называете цель.

  3. bind-mount каталоги live /dev, /proc, и /sysв соответствующие каталоги на вашем [смонтированном] постоянном разделе полной установки, который вы хотите использовать. Скрипт, подробно описанный в ссылке выше, выполняет это очень элегантно с помощью оператора "for". Кроме того, данный скрипт не нужно выполнять как скрипт, как таковой. Его можно ввести из командной строки bash, строка за строкой.

  4. chrootна постоянный полный раздел установки. После выполнения (3) и (4) система теперь "виртуально находится" в вашей "конечной файловой системе", и GRUB будет функционировать однородно. Без этих шагов 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 (например, если в какой-то момент в будущем вы установите дополнительный жесткий диск для своего каталога /home и т. д.). Это просто самый фундаментальный, надежный и инвариантный подход.

  8. Выйдите из chroot, выйдите из supershell, выйдите из bash, завершите работу и запустите систему без live media. Теперь вы должны быть там, где и хотели.

    Важное ПРИМЕЧАНИЕ: Аргументы для mount и chrootявляются каталогами (обычно ТОЧКАМИ МОНТАЖА, такими как /mnt/??или /media/??), соответствующими текущему сеансу. В большинстве, если не во всех случаях, полная установка находится в своем собственном разделе, поэтому термины «каталог» и «точка монтирования» здесь по сути являются синонимами. Аргумент для grub-install является ФИЗИЧЕСКИМ ДИСКОМ (обычно /dev/sdX, где «X» — буква, соответствующая диску в вашей системе, sda, sdb и т. д., и она не должна зависеть от сеанса).

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

Может быть, кто-то сможет это опровергнуть?

Связанный контент