系统排错
一,更改root用户密码
1.重新启动系统
2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件
--touch /.autorelabel
9.exit两次使系统自动重新启动
1.重新启动系统
2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件
--touch /.autorelabel
9.exit两次使系统自动重新启动
二,主引导记录的恢复
首先查看boot分区(带*号的在哪个磁盘)
--fdisk -l
制造错误:
1,截取开机启动文件的446个字节,reboot系统启动不了
--dd if=/dev/zero of=/dev/vda bs=446 count=1
恢复主引导记录:
光盘启动,添加光盘驱动,从光盘启动虚拟机
关闭虚拟机force off
3.导入镜像后(hostnamectl查询虚拟机的版本,导入对应的镜像,此处为7.0版本),继续
4.Boot Options中将光盘启动放在第一个,点击运行
5.选择troubleshooting中的第二个
6.出现对话框选择继续,ok,ok直到出现文本对话框
7.更该启动文件的挂载目录
--df ##查看启动文件所在磁盘挂载点
--chroot /mnt/sysimage ##更改挂载目录为根目录
--df ##查看是否更改成功
8.启动分区所在硬盘
--grub2-install /dev/vda
两次exit
9.关闭虚拟机,将Boot Options中将硬盘启动放在第一个
10.启动虚拟机
首先查看boot分区(带*号的在哪个磁盘)
--fdisk -l
制造错误:
1,截取开机启动文件的446个字节,reboot系统启动不了
--dd if=/dev/zero of=/dev/vda bs=446 count=1
恢复主引导记录:
光盘启动,添加光盘驱动,从光盘启动虚拟机
关闭虚拟机force off
3.导入镜像后(hostnamectl查询虚拟机的版本,导入对应的镜像,此处为7.0版本),继续
4.Boot Options中将光盘启动放在第一个,点击运行
5.选择troubleshooting中的第二个
6.出现对话框选择继续,ok,ok直到出现文本对话框
7.更该启动文件的挂载目录
--df ##查看启动文件所在磁盘挂载点
--chroot /mnt/sysimage ##更改挂载目录为根目录
--df ##查看是否更改成功
8.启动分区所在硬盘
--grub2-install /dev/vda
两次exit
9.关闭虚拟机,将Boot Options中将硬盘启动放在第一个
10.启动虚拟机
三,引导文件的丢失(grub2,引导文件)
第一种,没有重启
1,进入此目录
--cd /boot/grub2
2,查看目录路文件
--ls
3,删除grub.cfg
--rm -rf /boot/grub2/grub.cfg
4,没有重启时,恢复此文件
--grub2-mkconfig > /boot/grub2/grub.cfg
5,查看文件是否恢复
第二种,重启
1,首先查看boot是否是独立的
--df
没有看到单独boot的挂载,说明是在根下挂载的
2,重启有问题
输入:
grub > set root='hd0,msdos1' ##此位置不固定,位置指定/boot所在分区
注:
看boot分区所在的设备,根据设备来写此命令内容
比如:
设备为:/dev/vda1 此命令为:set root='hd0,msdos1' ##vda1,因为只有vda和vdb,所以a就是hd0,b就是hd1;因为vda1,所以写msdos1
设备为:/dev/vda3 此命令为:set root='hd0,msdos3' ##vda1,因为只有vda和vdb,所以a就是hd0,b就是hd1;因为vda3,所以写msdos3
grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x82_64 ro root=/dev/vda1 ##引导内核文件,这里的root指向的永远是根分区
注:此时如果 boot分区是在根下挂载的,写/boot/vmlinuz-3.10.0-123.e17.x82_64
boot分区单独挂载写/vmlinuz-3.10.0-123.e17.x82_64
grub > initrd16 /boot/initranfs-3.10.0-123.e17.x86_64.img ##引导系统初始化镜像
grub > boot
经过以上操作可以使系统正常启动,但是临时的,所以进入系统后还是需要执行:
--grub2-mkconfig > /boot/grub2/grub.cfg ##永久恢复grub.cfg
第一种,没有重启
1,进入此目录
--cd /boot/grub2
2,查看目录路文件
--ls
3,删除grub.cfg
--rm -rf /boot/grub2/grub.cfg
4,没有重启时,恢复此文件
--grub2-mkconfig > /boot/grub2/grub.cfg
5,查看文件是否恢复
第二种,重启
1,首先查看boot是否是独立的
--df
没有看到单独boot的挂载,说明是在根下挂载的
2,重启有问题
输入:
grub > set root='hd0,msdos1' ##此位置不固定,位置指定/boot所在分区
注:
看boot分区所在的设备,根据设备来写此命令内容
比如:
设备为:/dev/vda1 此命令为:set root='hd0,msdos1' ##vda1,因为只有vda和vdb,所以a就是hd0,b就是hd1;因为vda1,所以写msdos1
设备为:/dev/vda3 此命令为:set root='hd0,msdos3' ##vda1,因为只有vda和vdb,所以a就是hd0,b就是hd1;因为vda3,所以写msdos3
grub > linux16 /boot/vmlinuz-3.10.0-123.e17.x82_64 ro root=/dev/vda1 ##引导内核文件,这里的root指向的永远是根分区
注:此时如果 boot分区是在根下挂载的,写/boot/vmlinuz-3.10.0-123.e17.x82_64
boot分区单独挂载写/vmlinuz-3.10.0-123.e17.x82_64
grub > initrd16 /boot/initranfs-3.10.0-123.e17.x86_64.img ##引导系统初始化镜像
grub > boot
经过以上操作可以使系统正常启动,但是临时的,所以进入系统后还是需要执行:
--grub2-mkconfig > /boot/grub2/grub.cfg ##永久恢复grub.cfg
四,删除内核文件的恢复方法(这个文件是系统安装过程中生成的,所以通过找光盘里的文件,可以找到)
制造问题
1,进入boot
--cd /boot
--ls
--rm -rf vmlinuz-3.10.0-123.el7.x86_64 ##删除内核文件
解决问题
1.关闭虚拟机force off
2.导入镜像后,继续
3.Boot Options中将光盘启动放在第一个,点击运行
4.选择troubleshooting中的第二个
5.出现对话框选择继续,ok,ok直到出现文本对话框
6.更该启动文件的挂载目录
--df ##查看启动文件所在磁盘挂载点
--chroot /mnt/sysimage ##更改挂载目录为根目录
--df ##查看是否更改成功
7.创建westos目录挂载点
--mkdir /westos
8.挂载光盘
--mount /dev/sr0 /westos ##挂载光盘
9.查看光盘文件
--cd /westos
--ls
--cd Packages/ ##此处不要ls,因为安装包太多了
--cp kernel-3.10.0-123.e17.x86_64.rpm /mnt/
--cd /mnt
--ls ##查看文件
10,拆包
--rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
--ls
--pwd
--cd boot/
--ls
--cp vmlimuz-3.10.0-123.e17.x86_64 /boot/
--两次exit
11.关闭虚拟机,将Boot Options中将硬盘启动放在第一个
12.启动虚拟机
制造问题
1,进入boot
--cd /boot
--ls
--rm -rf vmlinuz-3.10.0-123.el7.x86_64 ##删除内核文件
解决问题
1.关闭虚拟机force off
2.导入镜像后,继续
3.Boot Options中将光盘启动放在第一个,点击运行
4.选择troubleshooting中的第二个
5.出现对话框选择继续,ok,ok直到出现文本对话框
6.更该启动文件的挂载目录
--df ##查看启动文件所在磁盘挂载点
--chroot /mnt/sysimage ##更改挂载目录为根目录
--df ##查看是否更改成功
7.创建westos目录挂载点
--mkdir /westos
8.挂载光盘
--mount /dev/sr0 /westos ##挂载光盘
9.查看光盘文件
--cd /westos
--ls
--cd Packages/ ##此处不要ls,因为安装包太多了
--cp kernel-3.10.0-123.e17.x86_64.rpm /mnt/
--cd /mnt
--ls ##查看文件
10,拆包
--rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
--ls
--pwd
--cd boot/
--ls
--cp vmlimuz-3.10.0-123.e17.x86_64 /boot/
--两次exit
11.关闭虚拟机,将Boot Options中将硬盘启动放在第一个
12.启动虚拟机
五,系统初始化镜像文件丢失(镜像文件是命令生成的,没有用到光盘里的东西)
模拟问题
--cd /boot
--ls
--rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img ##删除系统初始化镜像文件
解决方法
第一种:删除镜像初始化文件系统没有重启
--uname -r ##查看系统内核版本号
--mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##恢复系统文件,因为可能不知道本机的系统内核版本号,用$(uname -r)代替系统内核版本号,也可以直接查到版本号后写版本号,但是容易写错
--ls ##查看是否生成成功
第二种:删除镜像初始化文件系统重启后
1.关闭虚拟机force off
2.Boot Options中将光盘放在第一个,点击运行,光盘启动
3.选择troubleshooting中的第二个 ##进入挽救模式
4.出现对话框选择继续,ok,ok直到出现文本对话框
5.更该启动文件的挂载目录
--df ##查看启动文件所在磁盘挂载点
--chroot /mnt/sysimage ##更改挂载目录为根目录
--df ##查看是否更改成功
6.恢复系统文件
--mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##恢复系统文件,因为可能不知道本机的系统内核版本号,用$(uname -r)代替系统内核版本号,也可以直接查到版本号后写版本号,但是容易写错
--cd /boot/
注:此处显示报错,原因是系统管道没有开启,这个只有在完全启动虚拟机时才会打开,所以并不影响
--ls ##查看镜像文件是否生成成功
-两次exit
7.关闭虚拟机,将Boot Options中将硬盘启动放在第一个
8.启动虚拟机
模拟问题
--cd /boot
--ls
--rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img ##删除系统初始化镜像文件
解决方法
第一种:删除镜像初始化文件系统没有重启
--uname -r ##查看系统内核版本号
--mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##恢复系统文件,因为可能不知道本机的系统内核版本号,用$(uname -r)代替系统内核版本号,也可以直接查到版本号后写版本号,但是容易写错
--ls ##查看是否生成成功
第二种:删除镜像初始化文件系统重启后
1.关闭虚拟机force off
2.Boot Options中将光盘放在第一个,点击运行,光盘启动
3.选择troubleshooting中的第二个 ##进入挽救模式
4.出现对话框选择继续,ok,ok直到出现文本对话框
5.更该启动文件的挂载目录
--df ##查看启动文件所在磁盘挂载点
--chroot /mnt/sysimage ##更改挂载目录为根目录
--df ##查看是否更改成功
6.恢复系统文件
--mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##恢复系统文件,因为可能不知道本机的系统内核版本号,用$(uname -r)代替系统内核版本号,也可以直接查到版本号后写版本号,但是容易写错
--cd /boot/
注:此处显示报错,原因是系统管道没有开启,这个只有在完全启动虚拟机时才会打开,所以并不影响
--ls ##查看镜像文件是否生成成功
-两次exit
7.关闭虚拟机,将Boot Options中将硬盘启动放在第一个
8.启动虚拟机
六,当/boot分区被删除掉后的解决办法
生成错误
1,/boot分区被删除
rm -rf /boot
解决办法
重复之前的所有步骤
1,进入到挽救模式
2,chroot /mnt/sysimage
3,grub2-install /dev/vda
4,mount /dev/cdrom /mnt
5,rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
6,grub2-mkconifg > /boot/grub2/grub.cfg
7,两次exit
生成错误
1,/boot分区被删除
rm -rf /boot
解决办法
重复之前的所有步骤
1,进入到挽救模式
2,chroot /mnt/sysimage
3,grub2-install /dev/vda
4,mount /dev/cdrom /mnt
5,rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
6,grub2-mkconifg > /boot/grub2/grub.cfg
7,两次exit
七,当开机启动级别被篡改
生成错误
systemctl set-default reboot.target
解决错误
1,开机按上下键停止读秒
2,按“E”进入编辑模式
3.选择内核启动行
linux16 /vmlinuxz—xxxxxxx ro xxxxxxxxxxxxx 改为:
linux16 /vmlinuxz—xxxxxxx ro xxxxxxxxxxxxx 5
4,启动系统
ctrl + x
5,重新设定启动
systemctl set—default graphical.target
生成错误
systemctl set-default reboot.target
解决错误
1,开机按上下键停止读秒
2,按“E”进入编辑模式
3.选择内核启动行
linux16 /vmlinuxz—xxxxxxx ro xxxxxxxxxxxxx 改为:
linux16 /vmlinuxz—xxxxxxx ro xxxxxxxxxxxxx 5
4,启动系统
ctrl + x
5,重新设定启动
systemctl set—default graphical.target