linux中/etc/fstab檔案刪除或修改了,導致系統無法啟動

來源:互聯網
上載者:User

標籤:

  在linux中,/etc/fstab檔案是磁碟掛載的問題,若該檔案不小心給修改了,或者被刪除了,那麼就會導致系統無法重啟。因為/etc/fstab檔案是記錄磁碟掛載的資訊,若該檔案出現了問題,那麼對應的主目錄(/)和(/boot)以及swap的磁碟將無法掛載,所以這個檔案對於linux系統來說是相當重要的。

  我犯的錯誤是:我在對hadoop叢集進行檔案配置的時候,在一台主機上對/etc/fstab檔案進行修改,修改好了之後,準備分發給其他主機,我開始以為fstab檔案的內容是一樣的,於是我就該檔案分發給其他主機上,並且覆蓋了其他主機原來的fstab,完了之後,我就重啟其他主機,發現其他主機無法掛載硬碟,導致系統無法重啟。於是就想到,每個主機裡面的fstab檔案內容是不一樣的。因此我將犯了致命的錯誤。於是我就得想辦法恢複這些主機上的fstab檔案。網上google了一下。發現還是有辦法解決的。

在這裡得說明一下,幸好我有一台主機是完好無損的,這樣子我可以參照這個完好無損的主機來修改其他主機的fstab檔案。修改的方法如下:

1、網上搜了一下,大部分說是要進入BIOS後進行linux resuce模式。但我在這裡介紹一下簡單的方式:那就是重新製作/etc/fstab檔案。製作的方法就是裡喲個完好無損主機的fstab檔案。因此將完好無損主機上的fstab檔案分發給所有的主機。

2、既然要重新製作fstab檔案,那麼需要對fstab檔案的內容進行瞭解,我的fstab的問價內容如下:該檔案可以分為三個部分。

  

## /etc/fstab# Created by anaconda on Tue Jun 30 23:29:58 2015## Accessible filesystems, by reference, are maintained under ‘/dev/disk‘# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#第一部分(這是關鍵區段)UUID=16fef5b5-a9cc-4d6f-8d3f-0081546ffb04 /                       ext4    defaults        1 1UUID=6f352ae4-e53a-4e32-8129-369c6ba24e9a /boot                   ext4    defaults        1 2UUID=adf600ad-ab03-482f-ae6f-fb80e973da1e swap                    swap    defaults        0 0#第二部分tmpfs                   /dev/shm                tmpfs   defaults        0 0devpts                  /dev/pts                devpts  gid=5,mode=620  0 0sysfs                   /sys                    sysfs   defaults        0 0proc                    /proc                   proc    defaults        0 0#第三部分//192.168.2.246/Share /mnt/share cifs  default,auto,username=administrator,password=Passw0rd!/dev/sdb1  /mnt/hdb ext4 defaults 0 0/dev/sdc1  /mnt/hdc ext4 defaults 0 0/dev/sdd1  /mnt/hdd ext4 defaults 0 0/dev/sde1  /mnt/hde ext4 defaults 0 0 /dev/sdf1  /mnt/hdf ext4 defaults 0 0

 

  其中,第一部分最為關鍵,因為第一部分就是涉及到系統檔案磁碟的掛在的問題,這就是我們需要修改的地方;第二部分和第三部分所有主機都一樣。

3、針對第一部分,我們首先可以通過命令:fdisk -l 查看系統中對應的是哪個磁碟掛載  / 、/boot 以及swap這三個目錄。

  3.1、我通過執行 fdisk -l 命令後可以看到如下內容:

  

  通過我們可以明確看到 swap對應的是磁碟/dev/sda3,那麼/dev/sda1和/dev/sda2與/和 /boot對應關係我們不清楚。於是我通過查看完好無損的主機上的對應關係,發現/dev/sda2對應的是 /   ;/dev/sda1對應的是/boot。

4、接下來我們需要知道的是/etc/fstab檔案中UUID表示的是什麼意思?通過網上搜尋,答案如下:

  如果你有多塊硬碟,硬碟在電腦中的順序變化的時候,硬碟相同的名稱可能代表著不同的硬碟分區,如果你是從 USB 裝置啟動,與其他 USB 裝置的插入順序也會導致分區識別的困難。

  這個時候 UUID 就派上用場了,UUID 全稱是 Universally Unique Identifier,也就是說,每個分區有一個唯一的 UUID 值,這樣就不會發生分區識別混亂的問題了。

5、如何查看UUID呢?(紅色的表示的是UUID)

  通過瀏覽 /dev/disk/by-uuid/ 下的裝置檔案資訊。執行如下命令:

  # ls -l /dev/disk/by-uuid/

  ------

  lrwxrwxrwx 1 root root 10 10-13 09:14 0909-090B -> ../../sdb5

  lrwxrwxrwx 1 root root 10 10-13 09:13 7c627a81-7a6b-4806-987b-b5a8a0a93645 -> ../../sda4

  .....

 6、那麼接下來就是可以修改其他主機的fstab檔案了:

  6.1、重啟之後會需要你輸入密碼進入root許可權下的介面

  6.2、此時檔案系統是唯讀模式,若需要修改/etc/fstab檔案,則需要執行:mount -o remount rw /   命令。

  6.3、此時就可以修改/etc/fstab檔案了。執行: vi  /etc/fstab

  6.4、修改沒一個主機的UUID的值即可。

  6.5、reboot重啟,ok了。

 

linux中/etc/fstab檔案刪除或修改了,導致系統無法啟動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.