Linux的使用具有大量的优点,其中之一就是其卓越的恢复手段。即使您的服务器没有正常地启动,您仍然可以通过恢复盘访问其上的任何内容。接下来,您将学到如何通过Knoppix来做到这一点。本文在几乎所有的Linux发行版上都可用,而不着重于特定的Knoppix版本。
使用Knoppix救援CD可以方便地启动您的服务器。只要把磁盘放入服务器的光驱并重新启动服务器,Knoppix操作系统就会进行自动加载。但它不会让您立即就能访问硬盘驱动器上的文件,您必须自己挂载服务器上的所有文件系统,假如您还能进行挂载的话。这篇文章所介绍的过程有助于解决非文件系统错误造成的启动问题。
如果服务器的文件系统有错误并不……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
![TechTarget微信公众号二维码](/wp-content/uploads/res/images/spriteimg/ttweixin.jpg)
TechTarget
官方微博
![TechTarget中国官方微博二维码](/wp-content/uploads/res/images/spriteimg/ttweibo.jpg)
TechTarget中国
Linux的使用具有大量的优点,其中之一就是其卓越的恢复手段。即使您的服务器没有正常地启动,您仍然可以通过恢复盘访问其上的任何内容。接下来,您将学到如何通过Knoppix来做到这一点。本文在几乎所有的Linux发行版上都可用,而不着重于特定的Knoppix版本。
使用Knoppix救援CD可以方便地启动您的服务器。只要把磁盘放入服务器的光驱并重新启动服务器,Knoppix操作系统就会进行自动加载。但它不会让您立即就能访问硬盘驱动器上的文件,您必须自己挂载服务器上的所有文件系统,假如您还能进行挂载的话。这篇文章所介绍的过程有助于解决非文件系统错误造成的启动问题。如果服务器的文件系统有错误并不能被挂载,本文描述的过程能帮助您找到一个解决方法,但可能需要额外进行一些操作。
挂载Linux文件系统
您必须要先挂载服务器上的根文件系统,以便通过Knoppix救援CD对其进行访问。这也同样适用于服务器上的其它文件系统。当使用一个急救系统时,必须要将根目录挂载到一个临时目录。大多数的发行版都有一个叫/mnt的目录用于此目的,所以最好是使用这个目录并将您的文件系统挂载到它上面。但是,这里有一个潜在的问题:大多数的工具程序都假设您的配置文件在一个非常特定的目录里;比如说,如果您的发行版在查找/boot/grub/menu.lst,工具就可能不知道实际的路径应该是/mnt/boot/grub/menu.lst。因此,您需要确保所有挂载到/mnt上的东西,在操作系统中,要看起来就像直接挂载在/目录下一样。下面的过程介绍了如何去做到这一点。
1. 使用Knoppix CD启动您的计算机。接着您会看到Knoppix的欢迎界面。然后,按回车键去着手加载Knoppix。
2. 在加载时,Knoppix会等待片刻去显示所有可用的语言。如果您没做任何选择,会自动选中英语。当启动完成后,您就可以访问Knoppix桌面。
3. 要恢复对服务器的访问,您需要从Knoppix开启一个终端窗口。默认情况下,在开启一个终端窗口后,您会获得一个普通用户的访问权限。为了能够修复您的服务器,您需要Root权限。可以通过sudo su命令来获得这一权限。
4. 现在,使用mount命令。该命令显示当前还没有加载任何文件系统,而您所看到的内容都在一个RAM驱动器里。
默认情况下,Knoppix只加载RAM磁盘
5. 在不能确切知晓服务器上的存储是如何进行组织的情况下,您就需要检查到底使用了什么分区和磁盘。可以通过Fdisk –l 命令来开始这个检查。这个命令会显示在服务器上所有可用的磁盘(如果它们是存储区域网络的逻辑单元号形式的话也是这样),而且会显示在这些磁盘上存在哪个分区。磁盘名通常以/dev/sd开头(尽管可能使用其它的名字),并紧跟着一个字母。第一个磁盘是/dev/sda,第二个磁盘是/dev/sdb等等。在磁盘上,您会发现同样被编号的分区。例如,/dev/sda1是您服务器上第一个磁盘的第一个分区。这里是一个典型的磁盘布局的一个例子:
使用fdisk –l 去显示您服务器上当前的磁盘布局。
ilulissat:/ # fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 30 136552+ 82 Linux swap / Solaris
/dev/sda3 31 553 4200997+ 83 Linux
6. 现在来弄清楚您都看到了什么。如果看起来和上面的例子一样,那么不难找出其中的根文件系统。可以看到有两个分区使用分区类型83(意味着它们包含一个Linux文件系统)。但其中一个只有12个柱面,而由于每一个柱面只有大约8 MB,这对于包含一个根文件系统来说太小了。第二个分区使用分区类型82,所以它包含一个交换文件系统。因此,仅有的一个可能包含根文件系统的分区是/dev/sda3。
7. 现在您知道哪个分区包含了根文件系统,那么下面就进行挂载。如前所述,反正Knoppix不会使用/mnt目录做任何有用的事,所以最好是在它上面来做。所以在这个例子中,要使用的挂载命令为mount /dev/sda3 /mnt。
8. 一个快速的检查可以显示,到现在为止,您已经正确挂载了根目录。在激活chroot环境之前,您也需要能够访问一些系统目录。其中最重要的是/proc和/dev。通常在启动时会自动创建这些目录。这意味着它们的确存在于您的Knoppix根目录里,但如果已经将/mnt作为新的根目录,您会发现它们是空的。因为确实需要/proc和/dev去解决问题,所以在做其它事情之前要先挂载它们。下面的两个命令会帮助进行挂载。
mount -o bind /dev /mnt/dev
mount -t proc proc /mnt/proc
9. 如果做到这里,您的整个操作系统就可以通过/mnt来访问了。现在可以通过激活目录(使用cd /mnt)来验证这一点。此时,提示符为root@Knoppix:/mnt#。现在使用命令chroot .来使当前目录(.)成为您的新的根目录。这让您进入了服务器硬盘上安装的所有文件的根目录。
10. 由于Linux服务器倾向于使用一个以上的分区,您可能需要在真正解决所有问题之前,同时挂载其它的分区。例如,如果目录/usr在另一个分区上,您需要先让其也可被访问,然后才能进行任何操作。在这时,唯一要进行的工作是精确地找到哪一个文件系统被挂载到哪儿。其实,对这个问题有一个简单的答案:/etc/fstab。在这个文件中,您可以准确地看到在您服务器正常启动时,都有什么被挂载了。所以检查/etc/fstab的内容,并手动执行该处定义的所有挂载。或者为了方便,使用mount –a来解决问题。这个命令会自动挂载所有还没有被挂载的文件系统。
现在,您就可以完全地访问服务器硬盘驱动器上的所有工具了,而且更重要地是,对于所有的文件可以分析什么出错了,并对访问进行恢复。但请确保,在此时您是通过一个备份进行启动。
要解决您计算机上的所有问题,需要确保恢复对系统的完全访问。您可以通过挂载计算机上的所有文件系统来达到这一点,然后通过使用chroot命令来使它们可访问。这样,就可以确保让所有的工具都可以看到服务器文件系统的本来面目,而这会让恢复访问变得更加的容易。
相关推荐
-
托管OpenStack私有云能够获得支持or单打独斗?
OpenStack私有云托管作为一种服务可以简化企业的部署和运营,并强调了云计算的优势,而非Linux的优化……
-
从零开始构建属于自己的Linux发行版
当你从头开始构建Linux,就可以充分和完整地了解Linux平台。Linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。
-
使用Red Hat或Debian包管理器简化Linux管理
Linux软件包管理使用的软件库,它提供了软件包的安装源。Red Hat和Debian的软件包管理器功能类似,但结构上的差异将影响Linux管理。
-
关于apt-get:非Linux管理员应该知道的那些事
Apt-get是广泛应用在Unix和Linux系统中的应用程序管理器,Windows和Linux管理员也可以受益于其功能。