Как использовать GRUB Rescue для исправления Linux
Опубликовано: 2023-05-14ls
, set
, linux
и initrd
для исправления вашей системы Linux. Если вместо этого вы видите подсказку «grub escape>», используйте команды set
, insmod
, linux
и initrd
для загрузки вашего ПК.Если ваш компьютер с Linux не может загрузить свою операционную систему, вы, вероятно, обнаружите, что смотрите на приглашение в оболочке GRUB. Выполните следующие действия, чтобы восстановить сломанные процессы загрузки.
Когда ваш загрузчик не загружается
Использование оболочки GRUB
Использование спасательной оболочки GRUB
Другие возможные средства правовой защиты
Когда ваш загрузчик не загружается
Существует очень мало компьютерных проблем, которые заставят ваше сердце сжаться так же глубоко и быстро, как сбой при загрузке. Без работающей операционной системы ваш компьютер на самом деле не компьютер.
Это может быть очень непрозрачной проблемой, и нет простого способа углубиться в первопричину. Без доступа к Linux вы не сможете использовать обычные диагностические инструменты и процессы, которые вы использовали бы для исследования проблемы. А не определив, в чем проблема, как ее исправить?
В Linux GRUB — это программное обеспечение, управляющее процессом загрузки. Если у вас установлено несколько операционных систем, вы можете выбрать ту, в которую хотите загрузиться.
GRUB управляется своей конфигурацией. Он также полагается на другие вспомогательные файлы для выполнения своих функций. Если какой-либо из них отсутствует или поврежден, GRUB не будет работать. Изменения жестких дисков и разделов вашего компьютера должны быть отражены в конфигурации GRUB. Если это не так, инструкции GRUB не будут иметь смысла, и ваш процесс загрузки не будет работать.
В качестве примечания: то, что мы все называем GRUB, на самом деле является GRUB 2. Это расширенная версия GRUB, выпущенная еще в 2012 году. Помимо других изменений, она изменила способ создания файла «grub.cfg» и загружаться со съемных носителей.
Если GRUB не может загрузить операционную систему, вы останетесь с приглашением в оболочке GRUB. Это минималистичная среда, которая позволит вам выполнять несколько действий. Однако, если все сделано правильно, эти шаги могут воскресить ваш компьютер.
Есть две разные оболочки GRUB. В зависимости от основной причины проблемы вы можете обнаружить приглашение оболочки GRUB:
жратва>
или в командной строке спасательной оболочки GRUB:
спасение личинки>
Оболочка восстановления GRUB еще более ограничена, чем оболочка GRUB, но все же обладает достаточной мощностью, чтобы ваш компьютер загрузился. Как только ваш компьютер загрузится, у вас будет гораздо больше возможностей для устранения основной причины.
Использование оболочки GRUB
Оболочка GRUB — это интерфейс командной строки, который позволяет вам использовать небольшое подмножество команд Linux. Если вы окажетесь здесь, а не на обычном экране входа в систему, это означает, что ваш процесс загрузки испорчен.
Команды, к которым у вас есть доступ, отличаются от обычных версий Linux. Например, команда ls
оболочки GRUB не является командой Bash ls
. С ним очень мало общего. Мы можем увидеть это, используя опцию --help
.
лс --помощь
Он перечисляет только пять вариантов. Это далеко от десятков опций, поддерживаемых ls
в Bash. Тем не менее, даже с нашей несколько приглушенной палитрой команд, мы все же можем исправить ситуацию.
В командной строке введите ls
и нажмите «Enter».
лс
На этом компьютере в нем перечислены три элемента.
- (hd0) — первый жесткий диск.
- (hd0,gpt1) — это первый раздел на первом жестком диске.
- (hd0,gpt2) — это второй раздел на первом жестком диске.
Метка «gpt» означает таблицу разделов GUID. Нам нужно включать скобки « ()
», когда мы ссылаемся на раздел, но мы можем опустить метку.
Чтобы просмотреть разделы по очереди, мы будем использовать ls
.
лс (hd0,1)
лс (hd0,2)
Мы обнаружили, что на втором разделе есть файловая система Linux. Мы продолжим расследование, взглянув на корневой каталог этого раздела.
лс (hd0,2)/
Ясно, что это раздел Linux с загрузочным каталогом на нем. Здесь хранятся файлы GRUB, загрузочные образы Linux и другие загрузочные файлы.
На этом компьютере нам нужно будет ссылаться на раздел (hd0,2)
при выполнении наших команд. На вашем компьютере вы бы использовали любой раздел, на котором вы найдете свою установку Linux.
Мы можем использовать команду cat
для просмотра текстовых файлов, добавив путь к каталогу и имя файла к имени раздела, например:
кошка (hd0,2)/etc/выпуск
В многозагрузочных установках это полезный способ убедиться, что вы находитесь в правильном разделе. Это также отлично подходит для просмотра внутренних файлов конфигурации.
Здесь мы используем команду ls
с параметрами -l
(длинный) и -h
(удобочитаемый размер) для вывода списка файлов в каталоге «/boot».
ls -lh (hd0,2)/загрузка
Чтобы этот компьютер загрузился, нам нужно сообщить GRUB, что наш недавно обнаруженный раздел Linux содержит загрузочные файлы.
установить корень = (hd0,2)
Нам нужно указать, с какого ядра Linux следует загружаться. Мы делаем это с помощью команды linux
. Обратите внимание, что мы также должны указать корневой каталог, используя обычную схему именования жестких дисков и разделов Linux.
Linux /boot/vmlinuz-6.2.0-20-общий корень=/dev/sda2
На нашем примере компьютера мы используем (hd0)
, который является первым жестким диском. В обычной номенклатуре Linux это называется sda
. Мы обнаружили, что второй раздел — это раздел Linux, поэтому нам нужно указать sda2
.
Ваша машина может быть другой. Например, если ваш раздел Linux указан как (hd2,1)
, это означает первый раздел на третьем жестком диске или sdc1
.
Нам также необходимо указать, какой образ файловой системы в ОЗУ использовать при загрузке компьютера. Это должно использовать тот же числовой компонент, что и ядро Linux, которое мы используем.
initrd /boot/initrd.img-6.2.0-20-общий
Теперь, чтобы загрузить нашу систему, введите «boot» и нажмите «Enter».
Это должно загрузить ваш компьютер в Linux. Это заставило нас снова работать, но нам все еще нужно исправить GRUB, поэтому нам не нужно делать это каждый раз, когда мы запускаем наш компьютер.
Мы запустим update-grub
. Это просканирует нашу систему, определит операционные системы и создаст новую конфигурацию GRUB. Нам нужно запустить это как пользователь root.
sudo update-grub
В редких случаях вам может понадобиться переустановить загрузчик GRUB, используя grub-install
.
sudo grub-install /dev/sda
Обратите внимание, что вам не нужно указывать, на какой раздел устанавливать, а только на какой диск. В обычных установках это тот же диск, на котором находится ваш Linux.
Доказательство пудинга приходит со следующей перезагрузкой. Ваш компьютер должен нормально перезагрузиться.
СВЯЗАННЫЕ С: Как настроить параметры загрузчика GRUB2
Использование спасательной оболочки GRUB
В зависимости от характера проблемы с загрузкой вы можете не попасть в оболочку GRUB. Вы можете остаться в режиме спасения GRUB. Если это так, ваше приглашение будет выглядеть так:
спасение личинки>
Команды, которые нам нужно выполнить в этой оболочке, отличаются. Нам нужно использовать ls
, чтобы найти раздел Linux, как если бы вы использовали оболочку GRUB. Определив раздел Linux, вы можете продолжить и ввести эти команды.
Не забудьте использовать идентификаторы дисков и номера версий ядра, которые подходят для вашего компьютера. Команда insmod
загружает модули ядра.
установить префикс=(hd0,2)/boot/grub
установить корень = (hd0,2)
инсмод нормальный
инсмод линукс
Linux /boot/vmlinuz-6.2.0-20-общий корень=/dev/sda2
initrd /boot/initrd.img-6.2.0-20-общий
Затем вы можете ввести «boot» и нажать «Enter», чтобы перезагрузить компьютер. После перезагрузки и входа в систему обновите GRUB с помощью команды update-grub
.
Другие возможные средства правовой защиты
Если проблема заключается в отсутствии загрузочных файлов, таких как файлы «vmlinuz» и «initrd.img», вы можете загрузить компьютер с Live DVD или загрузочного USB-накопителя Linux и скопировать недостающие файлы на место.
Обратите внимание, что файлы «vmlinuz» и «initrd.img» должны иметь одинаковые номера версий, потому что они работают как согласованная пара.
СВЯЗАННЫЕ С: Как создать загрузочный Linux Live USB на вашем Mac