1、Suse 宕机解决方法Suse Linux宕机解决方法一、Root密码破解由于密码保存不当或忘记密码等原因,导致Root密码丢失,需要破解Root密码,以下提供SLES 10 SP4和SLES 11 SP1破解方法。1.Suse 10 SP4破解root密码思路:i.重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。ii.稍等片刻出现(none)#:命令行。iii.这时输入mount -n / -o remount,rw 表示将根文件系统重新m
2、ount为可读写,有了读写权限后就可以通过passwd命令修改密码了。iv.这时输入passwd命令就可以重置密码了v.修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。1)进入单用户模式:确定,进入单用户模式:2)将根(/)权限设置为“读写”rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码。3)修改root密码:passwd root连续输入两遍密码后,密码就更改好了。4)将根(/)的权限改为只读:mount -n / -o remount,ro5)重启系统,以新密码进入系统改好后,重启系统,就可以使用新
3、密码进入系统了。2.Suse 11 SP1破解root密码Suse 11 SP1和Suse 10 SP4方法相同,具体如下:1)进入单用户模式:2)将根(/)权限设置为,读写,便于修改密码:mount -n / -o remount,rw3)修改root用户密码:passwd root输入两遍密码后,root用户的密码就被改了。4)将根(/)权限,设置为只读。mount -n / -o remount,ro5)重启系统,就可以使用新密码进入系统了。二、Grub问题1.GRUB选项设置错误将内核文件的“vmlinuz”打成了“vmlinux”,导致系统无法找到内核的可执行文件。下图是一个系统管理
4、员不希望看到的控制台信息,“Error 15”显示系统无法找到menu.lst中指定的内核。 GRUB引导错误信息将内核文件的“vmlinuz”打成了“vmlinux”,导致系统无法找到内核的可执行文件。恢复思路:进入Grub,修改menu.lst中错误配置,启动系统,修改menu.lst中错误,保存。我们可以按任意键回到GRUB编辑界面,修改此错误,回车保存后按“b”键即可正常引导,进入系统后修改menu.lst文件中此处错误。具体恢复步骤如下:在此界面,按Esc键,进入字符界面选中“SUSE linux Enterprise Server 10 SP4”,然后按键盘上的“e” 输入“e”编
5、辑此项通过向左的方向键,移动到vmlinux位置,做如下图更改Enter确定,返回到字符启动界面按“b”,启动系统。启动后即可,正常进入系统。进入系统后,修改/boot/grub/menu.lst文件,将vmlinux修改为vmlinuz,保存退出。2.Grub/menu.lst文件中“title”段被误删除可使用2种方式来恢复:1)使用“Failsafe”模式,进入系统,在menu.lst文件中添加“title”段内容当,系统启动后会自动进入“GRUB”命令行,为排除故障我们可以依次做如下操作: 因为没有软驱,所以此处报错,磁盘读取错误。选择“Failsafe”模式,进入系统重启系统,完成修
6、复。2)可使用光盘启动系统,通过自动修复的方式修复此问题,具体操作步骤在此不再赘述。3.系统 GRUB 损坏类似得我们可以来写零 Bootloader 来实现 GRUB 被破坏的结果:rootFCoE grub# dd if=/dev/zero of=/dev/sda bs=446 count=1 1+0 records in 1+0 records out 446 bytes (446 B) copied, 0.0017583 s, 254 kB/s重启后系统会因找不到 GRUB 而卡在“Booting from Hard Disk ”挂载系统安装光盘然后选择进入 Rescue 模式,然后恢
7、复 GRUB:bash-4.1# chroot /mnt/sysimage sh-4.1# grub grub root hd(0,0) #指定boot分区所在位置 grub setup (hd0) #安装grub所需文件 grub quit图 5. 恢复 GRUB重启主机后,系统可正常引导。4.grub被破坏(包括:menu.lst,stage2.)linux-02: # cd /boot/grub/You have new mail in /var/mail/rootlinux-02:/boot/grub # lsdevice.map iso9660_stage1_5 reiserfs_s
8、tage1_5 vstafs_stage1_5e2fs_stage1_5 jfs_stage1_5 stage1 xfs_stage1_5fat_stage1_5 menu.lst stage2ffs_stage1_5 minix_stage1_5 ufs2_stage1_5linux-02:/boot/grub # df -hFilesystem Size Used Avail Use% Mounted on/dev/sda1 9.9G 3.6G 5.8G 39% /udev 1007M 120K 1007M 1% /dev/dev/sda3 198M 15M 173M 8% /boot/d
9、ev/hdc 3.1G 3.1G 0 100% /media/SUSE-Linux-Enterprise-Server_001破坏grubrm -rf /boot/grub/*linux-02:/boot/grub # rm -rf /boot/grub/*重启系统,Suse 10 SP4报错如下:解决方法:使用系统自动修复的方式来修复grub1)Suse 10 SP4修复方法设置系统从光盘启动,放入SUSE的cd1到光驱中重启系统,开机出现以下画面,表明grub已经修复:出现登陆界面:输入系统的用户名和密码即可进入。进入系统后,查看grub目录中的文件。进入grub目录,确实是否存在menu
10、.lst文件,该文件决定系统能否正常从硬盘引导。至此为止,可确认grub已经修复。2)Suse 11 SP1修复方法:思路:使用光盘进入系统救援模式,在救援模式中,新建menu.lst文件即可。进行破坏性试验:删除/boot/grub下的所有内容linux-sun: # ls /boot/grub/default ffs_stage1_5 minix_stage1_5 vstafs_stage1_5device.map iso9660_stage1_5 reiserfs_stage1_5 xfs_stage1_5device.map.old jfs_stage1_5 stage1e2fs_st
11、age1_5 menu.lst stage2fat_stage1_5 menu.lst.old ufs2_stage1_5linux-sun: # rm -rf /boot/grub/*linux-sun: # ls /boot/grub/重启系统。启动后,因为找不到grub里面的内容,提示如下:挂载boot分区,所在的分区,便于进一步操作重启系统开机后出现此画面,说明grub已经被恢复出来可正常进入系统。3)Suse 11 SP2 Grub破坏后解决方法:Suse 11 SP2实现Grub被删除后,恢复的方法:方法一:1.使用系统盘的恢复模式里面的,专家工具模式来修复系统。2.使用专家工具中
12、的“boot loader”来重装boot loader3.使用救援系统进入系统,挂载起来一起的boot分区,然后修改menu.lst文件。4.重启系统,完成修复。方法二:1.使用系统盘的恢复模式里面的,专家工具模式来修复系统。2.使用专家工具中的“boot installed system”来启动系统。3.使用救援系统进入系统,挂载起来一起的boot分区,然后修改menu.lst文件。4.重启系统,完成修复。相比较而言,第二种方法更快。在Repair Tools中选择“Boot installed System ”安装好后,就可以直接进入系统了。输入用户名和密码进入系统。进入系统后,先确认b
13、oot分区中是否有内核文件:确认有内核文件后,编辑menu.lst文件进入/boot/grub中新建menu.lst文件编辑好后,重启系统,检验系统是否已经修复。重启后,确认可以正常进入系统,表明Suse 11 SP1系统已经恢复。三、MBR被破坏,不包括分区表1.Suse 10 SP4dd if=/etc/passwd of=/dev/sda bs=446 count=1reboot放入cd1到光驱中choose rescue systementer grubroot (hd0,0)setup (hd0)quitreboot破坏系统的MBR:linux-02: # if=/etc/passw
14、d of=/dev/sda bs=446 count=1重启系统:rebootMBR被破坏后的情形:开机后,如下图:整个界面只有一个光标图标,而且不闪烁。解决方法:放入cd1到光驱中,开机选择“救援系统”进入系统后,找到boot分区所在的分区:fdisk l由上图可知,boot所在分区为/dev/sda3.进入grub进行系统恢复:输入grub输入以下命令:root (hd0,2)setup (hd0)quitreboot重启后,界面如下:可以正常进入系统,表明系统已经恢复。2.Suse 11 SP1和Suse 10 SP4方法一样即可恢复系统,具体如下:破坏MBR分区:linux-sun:
15、# dd if=/etc/passwd of=/dev/sda bs=446 count=11+0 records in1+0 records out446 bytes (446 B) copied, 4.8907e-05 s, 9.1 MB/s重启系统,看结果:开就就一黑屏幕,光标不闪烁。放CD1到光驱中,启动系统,选择救援模式:进入系统后,确认boot所在分区:fdisk l由此可知,boot所在分区为/dev/sda2,那么对应的grub中应该表示为:root (hd0,1)进入grub恢复MBR:重启系统,reboot:开机后,界面如下:表明MBR已经恢复。四、硬盘问题1.硬盘扇区错乱
16、在启动过程中最容易遇到的问题就是硬盘可能有坏道或扇区错乱(数据损坏)的情况,这种情况多由于异常断电、不正常关机导致。此种问题发生,在系统启动的时候,屏幕会显示:Press root password or ctrl+D:此时输入root密码系统自动进入单用户模式,输入“fsck -y /dev/hda6”(fsck为文件系统检测修复命令,“-y”设定检测到错误自动修复,/dev/hda6为发生错误的硬盘分区,请依据具体情况更改此参数),系统修复完成后,用命令“reboot”重新启动即可。分区在挂载情况下使用fsck可能导致数据损坏,建议将分区卸载后进行fsck操作。2.系统硬盘分区表破坏经过测
17、试Suse 11 SP1无法通过光盘中自带的修复模式来修复硬盘分区被破坏的情况。生产环境中的 Linux 服务器可能会因为病毒或者意外断电而引起硬盘分区表被破坏,通常恢复硬盘分区表需要之前我们先备份其分区表的信息,一般我们使用 USB 外接设备来备份主机硬盘的分区表或将分区表信息备份到其他硬盘上。查看当前分区表和备份硬盘信息:挂在备份mgr硬盘:通常我们通过备份硬盘的 MBR 来备份硬盘分区表:dd if=/dev/sda of=/mnt/sda.mbr bs=512 count=1现在我们来写零硬盘分区表来实现类似分区表被破坏的结果dd if=/dev/zero of=/dev/sda bs
18、=1 count=64 skip=446 seek=446查询硬盘 sda 上的分区信息,发现其已不包含任何分区:当主机硬盘分区表丢失了之后,再次启动后 GRUB 会因找不到配置文件而进入命令行模式 :重启机器,使用救援模式进入系统:我们查询系统磁盘信息,发现硬盘设备 sda 没有包含任何分区。挂载备份MBR的硬盘:还原MBR:dd if=/usb/sda.mbr of=/dev/sda bs=1 count=64 skip=446 seek=446再次查询系统磁盘信息:重启系统,确认系统能否正确引导。经过测试确定,系统可以正确引导,至此恢复MBR被破坏问题。五、/boot分区中的内容被完全清
19、空了 包括:(kernel,initrd,grub.)linux-02: # cd /boot/linux-02:/boot # lsSystem.map-2.6.16.60-0.85.1-smp messagebackup_mbr symsets-2.6.16.60-0.85.1-smp.tar.gzboot symtypes-2.6.16.60-0.85.1-smp.gzconfig-2.6.16.60-0.85.1-smp symvers-2.6.16.60-0.85.1-smp.gzgrub vmlinux-2.6.16.60-0.85.1-smp.gzinitrd vmlinuzin
20、itrd-2.6.16.60-0.85.1-smp vmlinuz-2.6.16.60-0.85.1-smplost+foundlinux-02:/boot # rm -rf * #清空boot分区内容linux-02:/boot # ls重启rebootlinux-02:/boot # reboot重启之后,出现以下画面:Suse 10 SP4解决方法:解决思路:使用光盘,自动修复模式,修复boot分区内容。开机,从光盘启动,选择修复模式,自动修复模式是否可以直接修复boot分区内容,耗时大约10分钟。接下来的语言选择,按照用户要求选择即可。在此阶段,会安装系统kernel包,sysconf
21、ig包,yast2包和其他必备软件包。选中“Finish”。接下来,进入系统。检测boot分区内容是否恢复:由上图可见,boot分区内容已经恢复出来,至此问题解决。选择“自定义修复”模式,所有选项全部选择,也可以修复boot分区内容被清空问题,但开机后还有部分选项需要配置,教为复杂,同时修复耗时较长。因为修复过程和“自动修复”模式基本相同,在此就不在赘述。Suse 11 SP1 boot分区内容被清空,该如何恢复?通过系统自带的修复模式,包括,自动修复,自定义修复,专家工具,无法修复系统。通过升级的方式也无法修复root分区被清空。截至目前,还没有方法能够恢复Suse 11 SP1 boot分
22、区内容被清空问题。六、开机启动kernel 可用的grub参数:注意:所有引导参数都是大小写敏感的!绝大部分的内核引导参数的格式如下(每个参数的值列表中最多只能有十项):name=value_1,value_2.,value_10如果name不能被识别并且满足name=value的格式,那么则被解译为一个环境变量(比如TERM=linux或BOOT_IMAGE=vmlinuz.bak),否则将被原封不动的传递给 init 程序(比如single)。标记说明并不是所有的参数都是永远可用的,只有在特定的模块存在并且相应的硬件也存在的情况下才可用。引导参数上面的方括号说明了其依赖关系,其中使用的标记
23、解释如下:参数说明ACPI高级配置与电源接口APIC高级可编程中断控制器HW相应的硬件设备存在IA-32IA-32(i386)体系结构(安藤32位处理器)X86-64X86-64体系结构IOSCHED启用了多个IO调度器LOOP启用了Loopback设备NET启用了网络支持PCIPCI总线支持PNP即插即用支持PS2PS/2支持SCSI许多SCSI设备的参数在 Documentation/scsi/ 中描述SMP对称多处理器USBUSB支持USBHIDUSB人机界面设备VT虚拟终端(Virtual terminal)BUGS=用于在特定的体系结构上解决某些CPU的bugKNL是一个内核启动参数
24、BOOT是一个引导程序参数标记为BOOT的参数实际上由引导程序使用,对内核本身没有直接的意义。没有特别的需求,请不要修改此类参数的语法,更多信息请阅读 Documentation/i386/boot.txt 文档。控制台这些参数控制着控制台或内核日志,在何处显示内核调试信息和错误信息。参数配置说明KNLIA-32,X86-64 earlyprintk=vga在传统的控制台初始化之前,在VGA上显示内核日志信息。如果系统有硬件问题或是严重的软件故障,可以初步查看故障信息,等系统起来后,看boot.msg进一步排查。initcall_debug跟踪所有内核初始化过程中调用的函数。有助于诊断内核在启
25、动过程中死在了那个函数上面。loglevelloglevel=0|1|2|3|4|5|6|7所有小于该数字的内核信息都将在控制台上显示出来。这个级别可以使用 klogd 程序或者修改 /proc/sys/kernel/printk 文件进行调整。取值范围是0(不显示任何信息)到7(显示所有级别的信息)。建议至少设为4。提示级别7要求编译时加入了调试支持。HWirqfixup用于修复基本的中断问题:当一个中断没有被处理时搜索所有可用的中断处理器。用于解决某些firmware缺陷。irqpoll用于修复更进一步的中断问题:当一个中断没有被处理时搜索所有可用的中断处理器,并且对每个时钟中断都进行搜索
26、。用于解决某些严重的firmware缺陷。SMPmaxcpus=明确指定一个SMP内核能够使用的最大CPU数量。最好使用maxcpus=0而不是maxcpus=1来禁用SMP功能。KNLinit=指定内核启动后运行的第一个程序的绝对路径。默认为/sbin/init。S以单用户模式运行init,默认是多用户模式。HW,ACPI,X86-64,i386acpi=force|off|ht|strict|noirqACPI的总开关。force表示强制启用;off表示强制禁用;noirq表示不要将ACPI用于IRQ路由;ht表示只运行足够的ACPI来支持超线程;strict表示降低对不严格遵循ACPI规
27、格的平台的兼容性。acpi_sleep=s3_bios,s3_modeACPI休眠选项。在从S3状态(挂起到内存)恢复的时候,硬件需要被正确的初始化。这对大多数硬件都不成问题,除了显卡之外,因为显卡是由BIOS初始化的,内核无法获取必要的恢复信息(仅存在于BIOS中,内核无法读取)。这个选项允许内核以两种方式尝试使用ACPI子系统来恢复显卡的状态。HW,ACPIacpi_use_timer_override对于某些有毛病的 Nvidia NF5 主板需要使用此选项才能正常使用,不过此时 HPET 将失效。IA-32,X86-64acpi_pm_good对于某些有毛病的 Nvidia NF5 主
28、板需要使用此选项才能正常使用,不过此时 HPET 将失效。PCIpci=option,option.off不检测PCI总线,也就是关闭所有PCI设备。(使用该参数可能导致硬盘不能使用,在Vmware中测试结果。)i386,x86-64enable_timer_pin_1disable_timer_pin_1启用/禁用APIC定时器的PIN1,可以用于解决某些有bug的芯片组(特别是ATI芯片组)。内核将尽可能自动探测正确的值。Suse 11 SP1 boot分区被清空后,不能使用安装光盘将boot目录拷贝到以前的boot分区所在目录,因为以前boot分区空间不够,不能容纳boot目录的内容,同
29、时boot目录的内容并不是系统需要的内容。七、Linux系统启动流程:对系统的流程先有一个大概的了解:开电源=BIOS自检=启动设备(磁盘orU盘or光驱)=引导程序(lilo或grub)=内核=init程序(rc.sysinit和rc)=mingetty=终端登录=shell.现在分为四个阶段来讲述:第一阶段:BIOS启动引导阶段 实现硬件的初始化以及查找启动介质; 从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理器.第二阶段:GRUB启动引导管理器 装载stage1; 装载stage2; 读取/boot/grub/menu.lst文件并显示启动菜单; 装载所选的kernel和initrd文件到内存中. 第三阶段:内核启动阶段 运行内核启动参数; 解压并挂载initrd文件系统,装载所需的驱动; 挂载根文件系统.第四阶段:init初始化阶段 启动/sbin/init进程; 运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统; 读取/etc/inittab文件,运行在/etc/rc.d/rc.d中定义的不同的运行级别服务初始化运行脚本; 打开字符终端1-6号控制台or图形管理的7号控制台.第一阶段:系统开机上电后
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1