app教程网 综合百科 linux不启动桌面(linux不启动图形界面)

linux不启动桌面(linux不启动图形界面)

Linux的启动过程中会出现一些故障,导致系统无法正常启动。本文列举了几个典型的使用单用户模式、GRUB命令操作和Linux rescue模式的故障修复案例,帮助读者了解此类问题的解决方法。

一.单用户模式

Linux提供了单用户模式(类似于Windows安全模式),可用于最小环境下的系统维护。在单用户模式下(运行级别1),Linux引导到根shell,网络被禁用,只有少数进程在运行。

单用户模式可用于修改文件系统损坏、恢复配置文件、移动用户数据等。

下面是单用户模式修复系统故障的几个典型案例:

案例1:硬盘扇区混乱

在启动过程中遇到的最常见的问题就是硬盘可能会出现坏磁道或者扇区混乱(数据损坏)的情况,这种情况多是由于非正常断电和非正常关机造成的。

出现此问题时,当系统启动时,屏幕将显示:

Press root password or ctrl D:

此时系统会通过输入root密码自动进入单用户模式,输入“fsck-y/dev/hda6”(fsck是文件系统检测修复命令,“-y”设置检测到错误时自动修复,/dev/hda 6是错误发生的硬盘分区。

请根据具体情况更改此参数),系统修复后,用“reboot”命令重启即可。

案例2:忘记了根密码

单用户模式下,Linux不需要root密码(红帽系统不需要root密码,SuSe需要,不同的Linux系统略有不同。本文以Fedora Core 6为例进行讲解)。

这使得更改root密码变得非常容易。当系统无法引导进入多用户模式时,知道如何进入单用户模式非常重要。

1.在系统启动期间,将出现图1所示的屏幕。按任意键进入GRUB菜单选项。

图1进入GRBU菜单选项

如果以后不想要这个提示,只需直接进入GRUB菜单选项,删除配置文件grub.conf中的“hiddenmenu”项

2.按“E”键编辑GRUB引导菜单选项。图2显示了按下“E”键后的GRUB屏幕。

图2 GRUB引导菜单选项

通过箭头键向下移动到内核行,按“E”键得到如图3所示的编辑界面:

图3内核行编辑界面

在行尾光标处加单,回车返回上一屏,按“B”开机,系统自动进入单用户模式。如果要更改root密码,请执行以下命令:

sh-3.1# passwd root

更改成功后,只需执行命令exit即可退出并重启。

我们可以纠正很多单用户模式下妨碍系统正常启动的问题,比如:1。禁用可能会停止系统运行的服务,如Samba服务。

然后执行:sh-3.1# chkconfig smb off,下次系统引导时不会启动Samba服务。

2.更改系统的默认运行级别。如果X Window无法启动或失败,可以编辑/etc/inittab文件,通过文本登录,将initdefault的引导级别更改为3: ID: 3:id:3:initdefault:

情况3: GRUB选项设置不正确

下图是系统管理员不想看到的控制台消息。“错误15”表示系统找不到grub.conf中指定的内核

图4 GRUB启动错误消息

我们观察到内核文件的“vmlinuz”因为打字错误被打成了“vmlinux”,所以系统找不到内核的可执行文件。我们可以按任意键返回GRUB编辑界面并纠正这个错误。

进入车内保存后按“B”键正常开机。当然,别忘了进入系统后修改grub.conf文件中的错误。

这是很多Linux初学者在修改GRUB设置时容易犯的错误。注意这个黑屏提示出现时的错误信息,可以相应修复。

二、GRUB引导故障排除

有时候Linux启动后会直接进入grub命令行界面(只有“GRUB”提示符),很多用户选择重装GRUB甚至重装系统。

其实一般来说,这种故障最常见的原因有两个:一个是GRUB配置文件中的选项设置不正确;二是GRUB配置文件丢失(原因有几个,比如内核文件或镜像文件损坏或丢失,误删除了/boot目录等。).在第一种情况下,

可以先通过GRUB命令引导系统,然后修复;在第二种情况下,将使用Linux rescue模式进行修复(本文稍后将对此进行描述)。

首先,我们需要了解GRUB引导系统的引导过程。grub.conf文件中的主要配置选项如下(注意grub配置文件是/boot/grub/grub.conf,

/etc/grub.conf只是这个文件的软链接):

title Fedora Core (2.6.18-1.2798.fc6)

Root (hd0,0)

kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/rhgb quiet initrd /boot/initrd-2.6.18-1.2798.fc6.img

“title”部分指定GRUB引导的系统,“root”部分指定/boot分区的位置,“kernel”部分指定内核文件的位置。

内核加载时,权限属性为只读(“ro”)和指定根分区的位置(root=LABEL=/);Initrd指定图像文件的位置。因此,GRUB在引导时首先加载/boot分区。

然后加载内核,然后加载镜像文件。

案例:“Title Fedora Core(2 . 6 . 18-1.2798 . fc6)”误删。

此时,系统启动后会自动进入“GRUB”命令行。为了排除故障,我们可以依次执行以下操作:

1.陈苏Sie nach der /boot/grub/grub.conf分区GRUB find /boot/grub/grub.conf

2.查看grub.conf文件时出错Grubcat (hd0,0)/boot 0)/boot/grub/grub.conf建议在系统安装后备份grub.conf文件。

如果有备份文件如grub.conf.bak,则此时可以查看备份文件,与当前文件比较,发现错误:GRUBcat (hd0,0)/boot/grub/grub.conf.bak

3、确认错误后,先通过命令行方式完成GRUB引导,进入系统后再行修复grub.conf文件错误:1)指定/boot分区root (hd0,0)

   2)指定内核加载kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/rhgb quiet 3)指定镜像文件所在位置initrd /boot/initrd-2.6.18-1.2798.fc6.img

提示:GRUB支持tab键命令补全功能

4、从/boot分区启动boot (hd0,0)

命令行模式可以在GRUB菜单模式中通过按“c”键调用,也可以用于测试新编译的内核(设置kernel、initrd引导新内核及镜像文件)。

增加对GRUB引导以及Linux系统引导知识的了解将对此类故障排除大有帮助。

三、Linux救援模式应用

当系统连单用户模式都无法进入时或出现GRUB命令行也不能解决的引导问题,我们就需要使用Linux救援模式来进行故障排除了。步骤如下:

   1、将Linux安装光盘(如果使用CD光盘,则放入第一张引导光盘)放入光驱,设置固件CMOS/BIOS为光盘引导,当Linux安装画面出现后,

在“boot:”提示符后输入“linux rescue”回车进入救援模式。(想了解救援模式详细信息,还可以按F5键查看)

图5 进入救援模式

   2、系统会检测硬件,引导光盘上的Linux环境,依次提示你选择救援模式下使用的语言(建议选择默认的英文即可,根据笔者测试,

部分Linux系统选择中文会出现乱码);键盘设置用默认的“us”就好;网络设置可以根据需要,大部分故障修复不需要网络连接,可不进行此项设置,选择“No”。

3、接下来系统将试图查找根分区,出现以下提示:图6 挂载设置

   默认在救援模式,硬盘的根分区将挂载到光盘Linux环境的/mnt/sysimage目录下,默认选项“continue”表示挂载权限为读写:“Read-only”为只读,

如果出现检测失败可以选择“skip”跳过。此处,因为要对系统进行修复,所以需要有读写权限,一般选择默认选项“continue”。

进入下一步后,系统提示执行“chroot /mnt/sysimage”命令,可以将根目录挂载到我们硬盘系统的根目录中去。

案例一:双系统启动修复

   当我们安装双系统环境,先安装Linux再安装Windows;或者已经安装好双系统环境的Windows损坏,在重新安装Windows后,

保存GRUB的MBR(Master Boot Record,主引导记录)会被Windows系统的自举程序NTLDR所覆盖,造成Linux系统无法引导。

1、如果要恢复双系统引导,首先用上述方法进入救援模式,执行chroot命令如下:sh-3.1# chroot /mnt/sysimage

   2、将根目录切换到硬盘系统的根目录中,然后执行grub-install命令重新安装GRUB:sh-3.1# grub-install /dev/hda“/dev/hda”为硬盘名称,

如使用SCSI硬盘或Linux安装在第二块IDE硬盘,此项设置要做相应调整。

3、然后依次执行exit命令,退出chroot模式及救援模式(执行两次exit命令):sh-3.1# exit系统重启后,将恢复GRUB引导的双系统启动。

案例二:系统配置文件丢失修复

   系统在引导期间,很重要的一个过程就是init进程读取其配置文件/etc/inittab,启动系统基本服务程序及默认运行级别的服务程序完成系统引导,如果/etc/inittab误删除或修改错误,

Linux将无法正常启动,如图7所示。此时,只有通过救援模式才可以解决此类问题。

图7 /etc/inittab文件丢失引导错误示例

   1、有备份文件的恢复办法进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc、/boot等要进行备份),直接将备份文件拷贝回去,退出重启即可。

如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf及/etc /passwd的文件修改错误,也可以直接修正恢复。假设有备份文件/etc/inittab.bak,

则在救援模式下执行:sh-3.1# chroot /mnt/sysimage sh-3.1# cp /etc/inittab.bak /etc/inittab

2、 没有备份文件的恢复办法如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复

本文来自网络,不代表本站立场,转载请注明出处:https: