Если в работе системы возникают проблемы, есть способы их исправить. Однако, эти способы требуют от вас достаточного понимания системы. В этой главе описаны способы загрузки системы в режиме восстановления и режиме одного пользователя, где вы сможете использовать собственные знания для восстановления системы.
Режим восстановления даёт возможность загрузить небольшое окружение Linux с дискеты, CD-ROM, или каким-то другим способом.
Как и следует из имени, режим восстановления предусмотрен для восстановления в случае сбоя. В штатном режиме ваша система Red Hat Linux использует файлы, размещённые на жёстком диске компьютера для всего - запуска программ, хранения файлов и т.д.
Однако, может произойти так, что вы не сможете полностью запустить Linux, и таким образом не получите доступ к файлам на жёстком диске компьютера. Используя режим восстановления, вы можете обращаться к файлам, хранящимся на жёстком диске компьютера, даже если вы не смогли запустить Linux с этого жёсткого диска.
Обычно, вам потребуется загружаться в режиме восстановление по одной из двух причин:
Вы не может загрузить Linux.
Вы столкнулись с программными или аппаратными проблемами и хотите достать несколько важных файлов с жёсткого диска компьютера.
Далее эти ситуации будут рассмотрены более подробно.
Проблема часто возникает в результате установки другой операционной системы после установки Red Hat Linux. Некоторые другие операционные системы предполагают что никакие другие операционные системы на компьютере не установлены, и переписывают Master Boot Record (Главную Загрузочную Запись - MBR), до этого содержащую загрузчик GRUB или LILO. Если загрузчик был переписан таким образом, вы не сможете загрузить Red Hat Linux, если не воспользуетесь режимом восстановления.
Другая распространенная проблема возникает, если вы с помощью инструмента разбиения диска измените размер раздел или создадите новый раздел, используя свободное место, после установки, и это повлияет на порядок ваших разделов. Если номер раздела вашего каталога / изменяется, загрузчик не сможет найти его и подключить раздел. Чтобы исправить эту проблему, загрузитесь в режиме восстановления и измените /boot/grub/grub.conf, если вы используете GRUB или /etc/lilo.conf, если используется LILO.
К этой категории относятся самые разные ситуации. Можно привести два примера: могли отказать жёсткие диски или вы могли позабыть запустить LILO, построив новое ядро (если вы используете LILO в качестве загрузчика). В обоих этих ситуациях вы не сможете загрузить Red Hat Linux. Если вы сможете загрузиться в режиме восстановления, вы сможете решить проблему или как минимум сделать копии самых важных ваших файлов.
Чтобы загрузить систему в безопасном режиме, загрузитесь с загрузочного диска Red Hat Linux или компакт-диска Red Hat Linux #1, и введите в приглашении программы установки следующую команду:
boot: linux rescue |
Вы можете перейти к приглашении программы установки одним из следующих способов:
Загрузив систему с установочной загрузочной дискеты, сделанной из образа boot.img. Этот способ требует, чтобы компакт-диск Red Hat Linux #1 был вставлен в виде образа восстановления или образ восстановления находился на жёстком диске в виде образа ISO. [1]
Загрузив компьютер с компакт-диска Red Hat Linux #1.
Загрузившись с сетевого диска, сделанного из образа bootnet.img или загрузочного диска PCMCIA, сделанного из pcmcia.img. Вы можете сделать это, только если сетевое подключение исправно. Вам понадобится определить сетевой узел и тип передачи. Информацию о том, как это определить, вы можете найти в разделе Установка по сети в Официальном руководстве по установке Red Hat Linux .
Загрузившись с загрузочного диска или компакт-диска Red Hat Linux #1 и предоставив нужный образ восстановления, вы увидите следующее сообщение:
The rescue environment will now attempt to find your Red HatLinux installation and mount it under the directory /mnt/sysimage. You can then make any changes required to yoursystem. If you want to proceed with this step choose 'Continue'. If for some reason this process fails you can choose 'Skip' and this step will be skipped and you will go directly to a command shell. |
Если вы выберете Continue (Продолжить), система попытается подключить вашу файловую систему в точку /mnt/sysimage. Если это подключение не удастся, она сообщит вам. Если вы выберете Skip (Пропустить), ваша файловая система подключена не будет. Выберите Skip (Пропустить) если вы считаете, что файловая система повреждена.
Как только система окажется в режиме восстановления, на VC (виртуальной консоли) 1 и VC 2 появляется приглашение (используйте сочетание клавиш
bash# |
Если вы выберете Continue для автоматического подключения ваших разделов, вы оказываетесь в режиме одного пользователя.
Чтобы подключить раздел Linux вручную, находясь в режим восстановления, создайте каталог, например /foo, и введите следующую команду:
mount -t ext3 /dev/hda5 /foo |
В приведенной выше команде, /foo - созданный вами каталог, а /dev/hda5 раздел, который вы хотите подключить. Если раздел имеет тип ext2, замените ext3 на ext2.
Если вы не знаете названий ваших разделов, выполните следующую команду, чтобы просмотреть их:
fdisk -l |
Если ваша система подключена и вы хотите сделать раздел вашей системы корневым, выполните команду chroot /mnt/sysimage. Это полезно, если вы хотите выполнять команды, такие как rpm, требующие, чтобы корневой раздел системы был подключен как /. Чтобы выйти из окружения chroot, введите команду exit, и вы вернетесь к приглашению bash#.
В приглашении bash#, вы можете выполнить много полезных команд, включая следующие:
anaconda gzip mkfs.ext2 ps badblocks head mknod python bash hwclock mkraid python1.5 cat ifconfig mkswap raidstart chattr init mlabel raidstop chmod insmod mmd rcp chroot less mmount rlogin clock ln mmove rm collage loader modprobe rmmod cp ls mount route cpio lsattr mpartition rpm dd lsmod mrd rsh ddcprobe mattrib mread sed depmode mbadblocks mren sh df mcd mshowfat sync e2fsck mcopy mt tac fdisk mdel mtools tail fsck mdeltree mtype tar fsck.ext2 mdir mv touch fsck.ext3 mdu mzip traceroute ftp mformat open umount gnome-pty-helper minfo pico uncpio grep mkdir ping uniq gunzip mke2fs probe zcat |
У вас должна быть возможность загрузить систему напрямую в режиме одного пользователя. Если ваша система загружается, но вы не можете зарегистрироваться после завершения загрузки, попробуйте режим одного пользователя.
Если вы используете GRUB, выполните следующие действия, чтобы загрузиться в режиме одного пользователя:
Если вы определяли пароль GRUB, нажмите p и введите пароль.
Выберите систему Red Hat Linux с версией ядра, которую вы хотите загрузить и нажмите e для редактирования. Вы увидите список параметров файла конфигурации только что выбранной системы.
Выберите строку, начинающуюся с kernel и нажмите e чтобы изменить её.
Перейдите к концу строки и введите single в виде отдельного параметра (нажмите
Вернитесь к экрану GRUB и нажмите b чтобы загрузить систему в режиме одного пользователя.
Если вы используете LILO, укажите один из этих параметров в приглашении загрузчика LILO (если используется графический вариант LILO, нажмите
boot: linux single boot: linux emergency |
В режиме одного пользователя ваш компьютер загружается до уровня выполнения 1. Локальные файловые системы будут подключены, но сеть запущена не будет. Тем не менее у вас будет полезная оболочка для обслуживания системы.
В аварийном (emergency) режиме, система будет загружена с минимальным окружением. Корневая файловая система будет подключена в режиме только-чтение и почти ничего не будет запущено. Основным преимуществом аварийного режима по сравнению с linux single, является то, что файлы init не загружаются. Если init поврежден и не работает, вы всё же можете подключить файловые системы чтобы восстановить данные, которые могут быть потеряны во время переустановки.
Перестраивали ли вы когда-либо ядро, и поспешив проверить сделанное, перегружались до запуска /sbin/lilo? Если вы не делали запись о старом ядре в файле lilo.conf, вы сталкивались с проблемой. Если вы хотите узнать решение этой проблемы, прочитайте этот раздел.
Скорее всего, вы сможете загрузить вашу систему Red Hat Linux с загрузочного диска Red Hat Linux [1] с подключенной файловой системой и приступить к решению. Вот как это делается:
Введите следующую команду в ответ на приглашение загрузчика boot::
linux single root=/dev/hdXX initrd= |
Замените XX в /dev/hdXX буквой и числом, соответствующим корневому разделу.
Что эта команда делает? Сначала, она запускает процесс загрузки, установив корневой раздел в качестве корня "/". Параметр initrd без параметров указывает, что образ находится на загрузочном диске, в этом случае вы сразу попадаете в режим одного пользователя.
Если отрицательная сторона использования этого приёма? К сожалению, да. Так как в ядро на загрузочном диске Red Hat Linux встроена только поддержка IDE, если в вашем компьютере используется SCSI, вы не сможете сделать этого. В этом случае, вы сможете воспользоваться режимом восстановления, выполнив команду linux rescue как показано выше.
[1] | Чтобы создать установочную дискету, вставьте пустой диск и, используя файл образа images/boot.img на компакт-диске Red Hat Linux #1, выполните команду dd if=boot.img of=/dev/fd0. |