向Linux計算機新增新的硬碟驅動器或固態驅動器?您需要編輯fstab檔案。很多人覺得這個想法很可怕。是的,你把它做好是很重要的,但是有了正確的知識,這真的不難。我們將逐步完成編輯fstab檔案的過程,以便將新驅動器整合到檔案系統中。
雖然在Linux計算機上新增一個新的硬碟並不複雜,但是第一次嘗試時可能會有點混亂。連線硬體,開啟計算機電源,然後登入到作業系統。但是你在任何地方都看不到你的新硬碟。為什麼沒有出現?如何讓Linux“看到”驅動器以便開始配置它?
實際上,Linux已經看到了您的硬體,但它並沒有很快宣佈它。或者給你一個提示,它已經找到了你的新硬體。您必須詢問Linux以獲得需要放入fstab檔案的資訊。
下面介紹如何設定新硬碟,以便Linux和您可以看到並使用它。這個過程分為兩部分。第一部分是做一些偵察,以確定硬碟驅動器和收集一些資訊。第二部分是編輯fstab檔案,使用我們在偵察階段收集的資訊。
我們要給這個系統新增兩個新驅動器。一個是32 GB機械硬碟(HD),另一個是16 GB固態硬碟(SSD)。
我們需要知道Linux可以看到它們,以及Linux正在為它們使用什麼塊裝置。在Linux和類似Unix的作業系統中,塊裝置是一種特殊的檔案,它充當裝置的介面,可以讀取和寫入資料(除非它是隻讀的)。塊裝置通常表示某種大容量儲存單元(例如,硬碟或CD-ROM上的分割槽)。它們是在/dev目錄中建立的。
我們可以使用l**lk命令列出連線到Linux計算機的塊裝置。
l**lkl**lk的輸出以列為單位。
這些列是:
在上面的螢幕截圖中,您可以看到迴圈裝置都被賦予了一個大數7(意味著一個迴圈,或迴圈,裝置),而小數只是每次增加1。迴圈裝置與squashfs檔案系統一起使用。每次使用snappy包管理系統安裝應用程式時,都會建立一個squashfs檔案系統。
SCSI硬碟的名稱有sda、sdb和sdc,它們的主要數字都是8(SCSI硬碟)。次要編號按16分組。第一個驅動器sda的次要編號從0到15。0表示物理驅動器,次數字1表示該驅動器上的第一個分割槽。對於第二個驅動器sdb,次要數字從16到31。16表示物理驅動器,17表示該驅動器上的第一個分割槽。接下來的16個數字,從32到47,用於sdc的次要數字,依此類推。
其他常見的主要數字是3(對於IDE硬碟)和11(對於CD-ROM)。
實際上,SDCSI CD-ROM驅動器的/dev/sr0樣式已經過時了。批准的格式是/dev/scd0。儘管如此,/dev/sr0格式仍然在用於研究本文的所有機器上使用。
核心文件包含一個長長的列表,其中列出了主要數字和次要數字可以採用的所有值。這張單子長得出奇。
為了消除l**lk輸出的混亂,我們可以使用grep只選擇我們感興趣的專案。我們知道沒有新增迴圈裝置,所以讓我們選擇所有SCSI硬碟驅動器。我們知道他們的名字裡會有“sd”。
l**lk | grep sd此命令將導致grep只打印在中有“sd”的行。在我們的試驗機上,我們看到:
所以,我們有三個SCSI驅動器。第一個/dev/sda安裝在檔案系統的根目錄下。其他兩個根本沒有安裝,這是預期的全新驅動器。我們可以看到drive/dev/sdb的大小是32gb,這意味著它是我們傳統的機械驅動器。Drive/dev/sdc的大小是16gb,這是我們的SSD驅動器。
實際上,由於這是一臺虛擬計算機,這些也是虛擬磁碟。所以SSD就像SCSI機械驅動器一樣出現。在我的常規桌面上,我的nvmesd顯示為/dev/nvme0n1,它的第一個分割槽是/dev/nvme0n1p1。它的主要數字是259。這些差異不會改變我們在fstab檔案中要做的事情,但是要注意,如果您有一個SSD,它不會顯示為物理驅動器。
另外,如果驅動器是全新的,那麼它們可能沒有分割槽。如果需要,可以使用fdisk建立分割槽。
相關:如何使用Fdisk在Linux上管理分割槽
如果我們對l**lk使用-o(輸出)選項,並將ROTA(旋轉)列新增到顯示中,l**lk將使用1表示旋轉儲存裝置(機械驅動),使用0表示非旋轉儲存裝置(固態驅動)。
l**lk -o +ROTA | grep sd我們在顯示器的右邊有一個額外的列,它是ROTA(旋轉)列。如您所見,“SSD”對裝置和分割槽有一個0。這是有意義的,因為SSD是一種非旋轉儲存裝置。
在開始考慮fstab檔案之前,讓我們檢查一下是否可以手動安裝驅動器。這樣,如果在使用fstab檔案時出現問題,我們就會知道問題一定是語法問題,而不是驅動器本身的問題。
我們將在/mnt目錄中建立一些臨時掛載點。您需要使用sudo,系統會提示您輸入密碼。
sudo mkdir /mnt/scsi現在讓我們在新的掛載點掛載SCSI驅動器。我們將以最簡單的形式使用mount命令。我們會告訴它我們想要掛載的分割槽的名稱,以及我們想要掛載它的掛載點。mount將在指定的掛載點將檔案系統掛載到該分割槽上。
我們指定的是儲存檔案系統的分割槽,而不是驅動器,因此請確保包含分割槽的數字,在本例中為“1”。
sudo mount /dev/sdb1 /mnt/scsi如果一切順利,穆特不會迴應。您將自動返回到命令提示符。
安裝SSD同樣簡單。我們告訴mount在哪個裝置上裝載哪個分割槽,以及裝載點。
sudo mount /dev/sdc1 /mnt/ssd再說一次,沉默是金。
相關:如何從Linux終端裝載和解除安裝儲存裝置
為了驗證掛載已經發生,我們將再次使用l**lk。我們將透過grep傳遞其輸出,並選擇“sda1”、“sdb2”和“sdc1”條目。
l**lk -o +ROTA | grep sd[a-c]1mount向我們展示了三個掛載的分割槽。這就是我們剛剛掛載的兩個分割槽和掛載在/上的原始分割槽。
分割槽/dev/sdb1安裝在/mnt/scsi上,並且位於旋轉儲存裝置上。分割槽/dev/sdc1安裝在/mnt/ssd上,並且位於非旋轉儲存裝置上。一切似乎都很好。
現在我們需要配置fstab檔案,以便在每次啟動計算機時掛載這些裝置。
fstab檔案包含計算機重新啟動時裝入的每個檔案系統的條目。每個條目由六個欄位組成。欄位包括:
這些欄位必須按此順序指定,並且它們之間必須有空格或製表符。找到這些欄位的值可能會讓人望而生畏,尤其是“opti***”欄位的值。“選項”欄位選項必須位於逗號分隔的列表中,它們之間不能有空格。
每個檔案系統的手冊頁將列出可以使用的選項。ext4有大約40個選項。以下是一些更常見的選項:
“預設值”選項是一個很好的開場白。如果需要進行一些微調,可以新增或刪除更多選項。如果有一種簡潔的方法來獲取所需的設定,那麼您就可以按順序將它們輸入fstab檔案。
輸入mtab檔案。
mtab檔案是當前裝入的檔案系統的列表。這與fstab檔案不同,fstab檔案列出了引導時應該裝載的檔案系統。mtab檔案包括手動裝入的檔案系統。我們已經安裝了新驅動器,因此它們應該顯示在mtab檔案中。
我們可以使用cat檢視mtab檔案的內容。我們將透過grep管道限制輸出,並且只檢視/dev/sdb1和/dev/sdc1。
cat /etc/mtab | grep sd[b-c]1輸出顯示這兩個分割槽的mtab條目。
我們可以提升這些值並將它們直接放入fstab檔案中,確保每個欄位之間有一個空格或製表符。就是這樣。當我們重新啟動的時候,硬碟就會被安裝上。
有兩個警告。一個是掛載點。我們建立臨時掛載點只是為了證明我們可以在新驅動器上掛載新分割槽。如果不同的話,我們需要輸入真正的坐騎點,而不是臨時的坐騎點。
第二個警告是,如果我們使用mtab檔案中的設定,我們將使用塊裝置檔案作為每個分割槽的識別符號。這是可行的,但是如果計算機中添加了新的大容量儲存硬體,/dev/sda和/dev/sdb等值可能會發生變化。這意味著fstab檔案中的設定不正確。
每個分割槽都有一個通用唯一識別符號(UUID),我們可以用它來標識分割槽。這永遠不會改變。如果我們使用UUID來標識fstab檔案中的分割槽,那麼設定將始終保持準確和真實。
如果將新分割槽用作廉價磁碟冗餘陣列(RAID)系統的一部分,請檢視該系統的文件。它可能指定必須使用塊裝置識別符號而不是UUID。
為了找到分割槽的UUID,我們可以使用blkid列印塊裝置的屬性。我們將限制輸出到新驅動器上的兩個新分割槽:
blkid | grep sd[b-c]1輸出包括每個分割槽的UUID。
PARTUUID是UUID的一種形式,可以與GUID分割槽表(GPT)分割槽方法一起使用(如果您不使用主引導記錄(MBR)分割槽方法)。
在編輯器中開啟fstab檔案。我們使用的是gedit,這是一個在大多數Linux發行版中都可以找到的易於使用的編輯器。
sudo gedit /etc/fstab此時將顯示編輯器,其中載入了fstab檔案。
此fstab檔案中已有兩個條目。它們是現有硬碟驅動器/dev/sda1上的分割槽和交換檔案系統。小心不要更改這些條目。
我們需要在fstab檔案中新增兩個新條目。一個用於SCSI驅動器上的分割槽,另一個用於SSD驅動器上的分割槽。我們先新增SCSI分割槽。請注意,以雜湊開頭的行是註釋。
現在我們將在單獨一行的SSD驅動器上新增fstab條目分割槽。
儲存檔案並關閉編輯器。
相關:如何使用gedit在Linux上以圖形方式編輯文字檔案
我們可以解除安裝新驅動器,然後強制重新整理fstab檔案。新分割槽的成功安裝將驗證我們輸入的設定和引數在語法上是否正確。這意味著我們的fstab檔案應該在重啟或通電過程中正確處理。
要解除安裝SCSI驅動器,請使用以下命令。請注意,“umount”中只有一個“n”:
sudo umount /dev/sdb1要解除安裝SSD驅動器,請使用以下命令:
sudo umount /dev/sdc1現在我們將使用l**lk檢查這些塊裝置是否已安裝。
l**lk | grep sd我們看到塊裝置存在於計算機中,但沒有安裝在任何地方。
我們可以使用mount命令和-a(all)選項來重新裝載fstab中的所有檔案系統。
sudo mount -a我們可以再次使用l**lk檢查新分割槽是否已安裝:
l**lk | grep sd一切都安裝在它應該的地方。我們現在要做的就是更改裝載點的所有權,否則root將是唯一可以訪問新儲存裝置的人。
我們可以用chown輕鬆地做到這一點。這是SCSI裝載點的命令:
sudo chown dave:users /mnt/scsi這是SSD裝載點的命令:
sudo chown dave:users /mnt/ssd我們現在可以放心地重新啟動計算機,知道我們新增的分割槽將為我們掛載,並且我們可以訪問它們。
所有的艱苦工作都在偵察階段,那也不難。一旦收集了所需的資訊,就可以輕鬆地編輯fstab檔案。準備就是一切。
有備用硬碟,你想更有效地使用你的Linux電腦?RAID可以提供效能提升或新增冗餘,具體取決於它的配置方式。讓我們快速進入多磁碟世界。 ...
...(可能是與數碼相機一起使用的裝置)時,系統會提示您如何繼續操作。為了方便起見,我喜歡將裝置開啟到檔案管理器中。 ...
... 下面介紹如何建立一個簡單的Swift程式,並在windows10中編譯和執行它。 ...
如果你有4K攝像頭或智慧**,那麼用4K質量拍攝所有影片是很有意義的。增加的解析度給你更多的選擇時,編輯你的鏡頭,它仍然會看起來很好的年代,1080p是老新聞。 ...
... 無論您是Python程式設計新手還是專家,讓我們來看看您如何在Android裝置上充分發揮pydroid3的潛力。 ...
在Linux上,awk是一種命令列文字操作生成器,也是一種功能強大的指令碼語言。下面介紹一些最酷的功能。 awk是怎麼得名的 awk命令的名字是使用1977年編寫原始版本的三個人的縮寫:阿爾弗雷德·阿霍、彼得·溫伯格和布萊恩·...
...們談論Linux檔案時間戳時。在本指南中,我們將解釋系統如何更新它們,以及如何自己修改它們。 atime、mtime和ctime的區別 每個Linux檔案都有三個時間戳:訪問時間戳(atime)、修改時間戳(mtime)和更改時間戳(ctime)。 訪問時...
...業系統。 現在,在我們開始之前,去做個備份。 相關:如何備份Linux系統 識別驅動器 如果您剛剛將一個驅動器安裝到Linux計算機上,或者將Linux安裝到新的多驅動器計算機中的一個驅動器上,然後重新啟動,那麼幾乎沒有證據...
...的Linux檔案系統,但是你不能面對這個問題嗎?下面介紹如何將ext2和ext3轉換為ext4,而不必完全重新安裝。 linux檔案系統 如果你有禮貌的話,你可以稱ext3檔案系統為“受人尊敬的”,就像2001年一樣。至於可憐的舊ext2,這個檔...