Rescue Mode
When things go wrong, there are ways to fix problems. However, these methods require that you understand the system well. This chapter will describe the ways that you can boot into rescue mode and single user mode, where you can use your own knowledge to repair the system.What is Rescue Mode?
Rescue mode provides the ability to boot a small Linux environment entirely from a diskette, CD-ROM, or using some other method.As the name implies, rescue mode is provided to rescue you from something. During normal operation, your Red Hat Linux system uses files located on your system's hard drive to do everything — run programs, store your files, and more.
However, there may be times when you are unable to get Linux running completely enough to access its files on your system's hard drive. Using rescue mode, you can access the files stored on your system's hard drive, even if you cannot actually run Linux from that hard drive.
Normally, you will need to get into rescue mode for one of two reasons:
- You are unable to boot Linux.
- You are having hardware or software problems, and you want to get a few important files off your system's hard drive.
Unable to Boot Linux
This problem is often caused by the installation of another operating system after you have installed Red Hat Linux. Some other operating systems assume that you have no other operating systems on your computer, and they overwrite the Master Boot Record (MBR) that originally contained the GRUB or LILO boot loader. If the boot loader is overwritten in this manner, you will not be able to boot Red Hat Linux unless you can get into rescue mode.Another common problem is if you use a partitioning tool to resize a partition or create a new partition from free space after installation and it changes the order of your partitions. If the partition number of your / partition changes, the boot loader will not be able to find it to mount the partition. To fix this problem, boot in rescue mode and modify /boot/grub/grub.conf if you are using GRUB or /etc/lilo.conf if you are using LILO.
Hardware/Software Problems
This category includes a wide variety of different situations. Two examples include failing hard drives and forgetting to run LILO after building a new kernel (if you are using LILO as your boot loader). In both of these situations, you may be unable to boot Red Hat Linux. If you can get into rescue mode, you might be able to resolve the problem or at least get copies of your most important files.Booting Rescue Mode
To boot your system in rescue mode, boot off of a Red Hat Linux boot disk or Red Hat Linux CD-ROM #1, and enter the following command at the installation boot prompt:boot: linux rescue |
- By booting your system from an installation boot diskette made from the boot.img image. This method requires that the Red Hat Linux CD-ROM #1 be inserted as the rescue image or that the rescue image be on the hard drive as an ISO image. [1]
- By booting your system from the Red Hat Linux CD-ROM #1.
- By booting from a network disk made from the bootnet.img or PCMCIA boot disk made from pcmcia.img. You can only do this if your network connection is working. You will need to identify the network host and transfer type. For an explanation of how to specify this information, see Installing over the Network in the Official Red Hat Linux Installation Guide.
The rescue environment will now attempt to find your Red Hat
Linux installation and mount it under the directory
/mnt/sysimage. You can then make any changes required to your
system. 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.
|
Once you have your system in rescue mode, a prompt appears on VC (virtual console) 1 and VC 2 (use the [Ctrl]-[Alt]-[F1] key combination to access VC 1 and [Ctrl]-[Alt]-[F2] key combination to access VC 2):
bash#
|
To mount a Linux partition manually inside rescue mode, create a directory such as /foo, and type the following command:
mount -t ext3 /dev/hda5 /foo
|
If you do not know the names of your partitions, use the following command to list them:
fdisk -l
|
From the bash# prompt, you can run many useful commands including:
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
|
Booting Single-User Mode Directly
You may be able to boot single-user mode directly. If your system boots, but does not allow you to log in when it has completed booting, try single-user mode.If you are using GRUB, use the following steps to boot into single-user mode:
- If you have a GRUB password configured, type p and enter the password.
- Select Red Hat Linux with the version of the kernel that you wish to boot and type e for edit. You will be presented with a list of items in the configuration file for the title you just selected.
- Select the line that starts with kernel and type e to edit the line.
- Go to the end of the line and type single as a separate word (press the [Spacebar] and then type single). Press [Enter] to exit edit mode.
- Back at the GRUB screen, type b to boot into single user mode.
boot: linux single boot: linux emergency |
In emergency mode, you are booted into the most minimal environment possible. The root filesystem will be mounted read-only and almost nothing will be set up. The main advantage of emergency mode over linux single is that your init files are not loaded. If init is corrupted or not working, you can still mount filesystems to recover data that could be lost during a re-installation.
Have you ever rebuilt a kernel and, eager to try out your new handiwork, rebooted before running /sbin/lilo? If you did not have an entry for an older kernel in lilo.conf, you had a problem. If you would like to know a solution to this problem, read this section.
In many cases, you can boot your Red Hat Linux system from the Red Hat Linux boot disk [1] with your root filesystem mounted and ready to go. Here is how to do it:
Enter the following command at the boot disk's boot: prompt:
linux single root=/dev/hdXX initrd=
|
What does this command do? First, it starts the boot process in single-user mode, with the root partition set to your root partition. The empty initrd specification bypasses the installation-related image on the boot disk, which will cause you to enter single-user mode immediately.
Is there a negative side to using this technique? Unfortunately, yes. Because the kernel on the Red Hat Linux boot disk only has support for IDE built-in, if your system is SCSI-based, you will not be able to do this. In that case, you will have to access rescue mode using the linux rescue command mentioned above.