Disk boot
mbr represents the master boot record, located in track 0 and sector 1, with a size of 446 bytes, as shown in the following figure:
mbr function:
Record the location of grub2 boot files
When mbr data is lost, the system will stop starting because the boot partition cannot be found
Problem simulation mode
[root@localhost Desktop]# fdisk -l check the disk system disk. The corresponding device with * has the mbr main boot area Disk /dev/vda: 8 GiB, 8589934592 bytes, 16777216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x657e7edc Device Boot Start End Sectors Size Id Type It can be seen that there are mbr The equipment in the main boot area is /dev/vda /dev/vda1 * 2048 1026047 1024000 500M 83 Linux /dev/vda2 1026048 2050047 1024000 500M 82 Linux swap / Solaris /dev/vda3 2050048 16777215 14727168 7G 83 Linux [root@localhost mnt]# dd if=/dev/zero of=/dev/vda bs=446 count=1 clear the data in the mbr main boot area, and the system will stop starting because the boot partition cannot be found [root@localhost mnt]# dd if=/dev/vda of=/mnt/mbrfile bs=446 count=1 intercept data 1+0 records in 1+0 records out 446 bytes copied, 0.000127563 s, 3.5 MB/s [root@localhost mnt]# hexdump -C /mnt/mbrfile view the intercepted data, all of which are 0, indicating that the mbr data has been cleared 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a |...............| 000001bf
Restart the system after clearing, and the system will display the following interface
Recovery method:
Add a disc, as shown below
Boot from CD
Enter rescue mode
2. grub2 boot file (boot file)
/boot/grub2/grub.cfg main boot file
/Boot / loader / entries / xxxxxxxx.conf header boot file
Function: specify / boot location
Specifies the file name to load when the system starts
Simulation question 1:
RM - FR / boot / loader / entries / xxxxxxxx.conf is deleted, and problems will occur when the system is restarted
Repair method (you can repair it before restarting):
[root@localhost modules]# cp /usr/lib/modules/4.18.0-193.el8.x86_ 64 / bls.conf / boot / bls.conf copy the template file to boot [root@localhost entries]# kernel-install add $(unam -r) /boot/vmlinuz-4.18.0-193.el8.x86_64 Kernel version number Kernel image
Manual boot (reboot required after system restart)
[root@localhost Desktop]# df must first view / partition the mounted device, which is / dev/vda3 Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 392292 0 392292 0% /dev tmpfs 419148 0 419148 0% /dev/shm tmpfs 419148 6812 412336 2% /run tmpfs 419148 0 419148 0% /sys/fs/cgroup /dev/vda3 7353344 4459724 2893620 61% / /dev/vda1 506528 216728 289800 43% /boot tmpfs 83828 1180 82648 2% /run/user/42 /dev/sr0 8238560 8238560 0 100% /run/media/root/RHEL-8-2-0-BaseOS-x86_64 tmpfs 83828 20 83808 1% /run/user/0
cd /boot Switch to/boot See if there is a template file bls.conf [root@host boot]# ls config-4.18.0-193.el8.x86_64 efi grub2 initramfs-0-rescue-105326b025324973babc920ed9b5428e.img initramfs-4.18.0-193.el8.x86_64.img initramfs-4.18.0-193.el8.x86_64kdump.img loader System.map-4.18.0-193.el8.x86_64 vmlinuz-0-rescue-105326b025324973babc920ed9b5428e vmlinuz-4.18.0-193.el8.x86_64 [root@host boot]#cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/ #If not, copy the template file [root@localhost boot]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64 execution
Simulation question 2:
To delete the master boot file:
root@localhost grub2]# rm -fr grub.cfg delete main boot file
root@localhost grub2]# reboot
Repair method:
[root@localhost boot]# cd /boot/grub2/ [root@localhost grub2]# ls device.map fonts grubenv i386-pc [root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg Generating grub configuration file ... done [root@localhost grub2]# ls device.map fonts grub.cfg grubenv i386-pc
3. Kernel loading
Problem:
[root@localhost boot]# rm -fr vmlinuz-4.18.0-193.el8.x86_64 delete kernel
Recovery:
Enter rescue mode: Input 1 enter input chroot /mnt/sysimage input cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uanme -r) Copy the kernel file stored in the template file exit exit Re enter the system with a hard disk device and check whether the repair is successful
4. Kernel initialization image
/boot/initramfs-4.18.0-80.el8.x86_64.img function:
Load system clock
Load selinux
Load system host information
Load the disk hanging policy in the / etc/fstab file
Load disk quota
Initialize the system program and start the startup service
Open virtual console
Open graphics
Problem:
[ root@localhost boot]# rm -fr initramfs-4.18.0-193.el8.x86_ 64.img delete system initialization image
Recovery - if there is no restart, you can use the following methods:
[root@localhost boot]# Mkinitrd -- help view help usage: mkinitrd [--version] [--help] [-v] [-f] [--preload <module>] [--image-version] [--with=<module>] [--nocompress] <initrd-image> <kernel-version> (ex: mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64) [root@localhost boot]# mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64 directly copy this command to generate Creating: target|kernel|dracut args|basicmodules
If you restart, the system will not start (as shown in the figure below). How to recover?
Enter rescue mode
Input: mkinitrd /boot/initramfs-$(uname -r).img $(uanme -r)
5. System startup level
0 | Shut down |
---|---|
1 | single user |
2 | No graphics network mode |
3 | No graphics network mode |
4 | No graphics network mode |
5 | With graphical interface mode |
6 | restart |
Problems arise
[ root@localhost Desktop]# systemctl set default view startup level
oot@localhost Desktop]# systemctl set default runlevel6.target if the startup level is set to 6, the system will restart all the time
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/reboot.target.
recovery
Manually specify the startup level:
Power on press e
After specifying, enter the system and change the command to runlevel5.target
[root@localhost Desktop]# systemctl set-default runlevel5.target Removed /etc/systemd/system/default.target. Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/graphical.target.
6. Super user password forgotten, crack the password
Press e in the boot selection interface to enter the boot file editing mode
Change ro to rw and add rd.break to indicate that the system stops initialization after starting the kernel