天天看點

LINUX啟動進入SINGLE模式

  一、單使用者模式;

    單使用者模式要求我們輸入root使用者的密碼,否則您無法登入單使用者模式;如果您丢失了root使用者的密碼,并不能用單使用者模式來重設您的root密碼;

    另外單使用者模式還有一個前提是您的grub 或者lilo 是能正常工作的;并且您知道您的系統問題發生在哪裡,當以單使用者模式登入時,您能打開檔案系統的寫操作,然後進行您想要進行的系統修複;

    可能有的弟兄會說“我真的不知道系統哪塊出了問題”,呵,如果真的不知道,那我也無能為力了,因為本文檔主要講述登入模式,并不是講述如何修複系統的;

    1、以grub 系統引導管理器,單使用者登入方法;

    在grub 啟動後,移動鍵盤到Linux的啟動項;按e鍵;然後再移動鍵盤到類似下面的一行,也就是kernel的那行:

    kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1

    rhgb quiet

    把光标移動這行後,再按一下e鍵,進入編輯這行;在行尾條一個空格 ,然後輸入 linux single,也就是類似如下的:

    rhgb quiet linux single

    結束編輯,按回車傳回;

    接着我們要啟動系統,按一下b鍵啟動;

    當進入單使用者模式運作後,系統提示我們輸入root密碼;輸入正确後會進入系統;您可以用df -h 來檢視檔案系統挂載位置等,也可以用fdisk -l 來檢視分區等;但對檔案系統的寫操作,可能還要看下面的;

    單使用者進入系統後,可能系統是隻讀的;要運作下面的指令;

    #mount -o remount,rw /

    2、lilo 引導管理器單使用者模式;

    在boot:處輸入

    linux single

    二、linux rescue

    修複模式;

    Linux的修複模式就是

    linux rescue;修複模式并不需要系統密碼,當進入修複模式後,系統會提示我們要挂載哪個分區上的檔案系統,我們根據自己的系統情況來選擇就就是了。登入完成後,系統也會提示所在分區的檔案系統會被挂載到哪個目錄;如果您不知道挂載在哪裡,請通過 df -h 來檢視;

    修複模式需要安裝盤的第一張或獨立的修複盤;比如 Fedora 就有專門的修複盤;其實修複盤在一定意義上來說類似livecd,是不需要安裝到硬碟也能運作系統;然後通過mount 來挂載檔案系統;其實當我們執行linux rescue

    時,象Fedora 這類的系統,會有一些提示,比如他提示他要mount 哪個分區,我們選擇一下就行了;

    執行修複模式時,需要以下幾個步驟;

    其一:在BIOS中,設定首個啟動驅動器為CDROM;

    其二;找出系統安裝盤的第一張;放入CDROM ;當CD光牒運作時,會提示安裝的界面;

    在boot:後面輸入 linux rescue

    ,然後按回車;

    boot:linux

    rescue

    進入修複模式,我們能做些什麼呢??什麼都可以做,比如挂載usb盤進行資料備份;修改系統中的配置檔案... ... 重新設定root密碼、挂載檔案系統 ... ... 隻要能想到,大多都可以完成;

    三、跨越控制台登入;

    真正的跨越控制台登入是不需要輸入root密碼的,如果您把root密碼丢失,就要想到跨越控制台登入;我們前面所說的linux rescue

    從本質上來說,就是跨越控制台登入,因為無需要密碼驗證就能登入系統;

    跨越控制台登入主要包括:借grub和lilo 跨越控制台登入; linux rescue

    模式;第三方livecd 系統和第三方Linux系統;

    1、通過grub和lilo 引導,跨越控制台登入;

    1)如果您用的是grub進行系統引導;

    rhgb quiet linux

    init=/bin/bash

    可能系統是隻讀的;要運作下面的指令;

    然後我們可以通過 df -h 來檢視檔案系統的加載情況;既然都把檔案系統挂載了,有什麼活幹不了的呢?重設root密碼,備份檔案... ...

    比如重設root密碼;

    #passwd

    2)如果您用lilo 進行系統引導;

    當進入系統後,您可以用df -h 來檢視檔案系統挂載位置等,也可以用fdisk -l 來檢視分區等;但對檔案系統的寫操作,可能還要看下面的;

    2、linux rescue

    ;

    請參考前面第二點所說的修複模式;

    3、借linux的livecdCD光牒

    或第三方linux系統;

    linux的livecd版本是無需安裝的linux

    系統,在CD光牒上就可以運作的linux

    系統; livecd 大多是用來修複之用,livecd 內建了常用的系統操作工具;

    第三方Linux系統是指你的機器上安裝一個以上的Linux系統,如果其中一個發生問題,我們就可以用另一個來修複;

    livecd 和第三方linux系統來修複已經被破壞的Linux

    ,常用的工具有mount 和chroot等等

    ;如果您隻是簡單的更改存在問題的系統檔案,用mount 就足夠了。chroot 工具可以改變/,進而進入另一個系統,這個工具的确有用。

    我們還是舉個例子來說明如何通過用mount和chroot;

    至于機器中第三方Linux和Livecd的使用比較簡單,這裡就不多說了;

    livecd就是在CD光牒上運作的linux

    ,您可以找一個livecd的發行版本刻錄一下就能用了,使用簡單友善;

    下載下傳位址:

    http://www.frozentech.com/content/livecd.php

    常用的有 SLAX,Knoppix,Damn Small Linux,Ubuntu ... ...

    大體都差不多,下載下傳一個小的備用也行,就看您怎麼用了;

    通過livecd linux

    或其它linux

    來修複已經破壞的Linux步驟如下:

    1)mount 挂載檔案系統;

    注:執行mount 及chroot時,要以root權限運作,以下同;

    比如存在問題的系統位于 /dev/hda5 ,如果您不知道哪個分區是linux的,您可以通過fdsik -l 來檢視;

    [root@localhost ~]# fdisk -l 注:檢視分區情況;

    [root@localhost ~]# pwd 注:确定目前工作目錄;

    /root 注:目前工作目錄為/root

    [root@localhost ~]# mkdir systmp 注:在目前工作目錄下建立一個臨時目錄;

    [root@localhost ~]# mount /dev/hda5 systmp/ 注:挂載hda5到tmpsys目錄中;

    [root@localhost ~]# df -h 注:檢視是否已經挂載;

    Filesystem 容量

    已用

    可用

    已用% 挂載點

    /dev/hda8 11G 9.8G 581M 95%

    /

    /dev/shm 236M 0 236M 0%

    /dev/shm

    /dev/hda5 7.9G 5.9G 2.0G 76% /root/systmp 注:看好了,是挂載到了/root/systmp目錄中;

    既然把/dev/hda5分區的檔案系統已經挂載了,我們就能對已經挂載的檔案系統進行寫操作;如果是簡單的備份和檔案修改,是完全能行的;

    注意:在寫操作的過程中,要倍加不心,在操作某個檔案的時候,要先備份;當出現不能mount的情況,可能是您的目前所用的核心不支援相應的檔案系統;如果系統要求指定檔案系統的時候,請看如下的例子;

    mount -t 檔案系統類型

    磁盤分區

    挂載目的目錄

    對于linux的檔案系統類型主要有:reiserfs,ext3,ext2;具體用什麼檔案系統類型,你最明白;如果您還是不知道,就一個一個的嘗試;比如我的hda5是reiserfs的,可以用下面的指令來挂載;

    [root@localhost ~]# mount -t reiserfs /dev/hda5

    systmp/

    2)chroot 到已經挂載的檔案系統;

    chroot這個工具很有用,很多Linux都支援chroot切換到另一個檔案系統中,然後進行一系列系統包的安裝和系統配置;這并不是說任何檔案系統都能chroot切入

    ,首先這個檔案系統中得具備系統運作的一定的工具和環境,比如/bin和/sbin 目錄是擁有等....

    用中文表達不清楚,還是舉例來說明;

    比如我的機器中有兩個Linux系統,一個運作正常,另一個有點問題(比如是root密碼忘記了),我想通過正常的系統來修複另一個;首先我們進行的是mount ,也就是前面所說的,然後下一步就是chroot ;通過chroot 切換到要修複的檔案系統中;

    比如存在問題的系統位于 /dev/hda5

    [root@localhost ~]# fdisk

    -l

    [root@localhost ~]# pwd

    /root

    [root@localhost ~]# mkdir

    systmp

    [root@localhost ~]# mount /dev/hda5

    [root@localhost ~]# df -h

    /dev/hda5 7.9G 5.9G 2.0G 76%

    /root/systmp

    [root@localhost ~]# chroot systmp 注:chroot到hda5分區的系統中;

    bash-3.00# 注:已經登入;

    bash-3.00# df -lh 注:檢視檔案系統挂載情況;

    proc 7.9G 5.9G 2.0G 76%

    /proc

    sysfs 7.9G 5.9G 2.0G 76%

    /sys

    上面我們就通過chroot 指令完成了通過一個系統到另一個系統的跨控制台登入;Livecd 如果要完成此任務,也是通過這樣過程完成的。

    我們既然已經登入到有問題的系統了,可以進行相應的修複工作,比如對root密碼的恢複,軟體包的安裝,相應檔案的修改... ... 我想您應該知道怎麼做,對不對???

    有些發行版的安裝盤類似livecd ,比如slackware 的安裝盤的第一張,當他啟動到讓你輸入使用者名和密碼進行安裝時,我們不必輸入什麼,或者直接輸入root ,就能進入cdrom 虛拟環境了;這時我們就用前面所說mount加載檔案系統,然後chroot挂載的檔案系統;

    四、後記;

    正在寫檔案系統的管理,可能要花幾天時間;努力之中;

    五、關于本文;

    看到論壇的弟兄還在大呼丢了root密碼怎麼恢複,雖然壇裡也有不少文檔,但大多沒有形成系統,為了解決問題而重寫此文,可能有的弟兄需要這樣的文檔;既然有“市場”,我就寫,沒有什麼大不了的;有的弟兄認為是小題大作,就當我鍛煉身體好了;這樣的文檔誰都會寫,沒有什麼難的;

繼續閱讀