新聞中心
在Linux系統(tǒng)中,硬盤壞塊問題是比較常見的,如果不及時處理,會導(dǎo)致硬盤文件的丟失,甚至硬盤無法使用。因此及時查找和處理硬盤壞塊是非常重要的。

創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為額爾古納企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、成都做網(wǎng)站,額爾古納網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
一、如何查找硬盤壞塊
1.使用硬盤檢測工具
Linux系統(tǒng)中有很多硬盤檢測工具,可以檢測硬盤是否有壞塊,并將結(jié)果輸出到控制臺或日志文件中。常見的硬盤檢測工具有artctl、badblocks等。
以artctl為例,查找硬盤壞塊的命令如下:
“`
sudo artctl -t offline /dev/sda
sudo artctl -a /dev/sda | grep Reallocated_Sector_Ct
“`
之一條命令是啟動離線自檢,第二條命令是查看硬盤的重新分配扇區(qū)計數(shù)器(Reallocated_Sector_Ct),如果該值不為0,則說明硬盤有壞塊。
2.使用文件系統(tǒng)自帶的壞塊檢測工具
比如EXT4文件系統(tǒng)自帶的e2fsck命令,這個工具可以檢查并修復(fù)文件系統(tǒng)上的壞塊。
查找硬盤壞塊的命令如下:
“`
sudo e2fsck -c /dev/sda
“`
該命令會根據(jù)硬盤上的壞塊列表檢查文件系統(tǒng)是否存在壞塊,并將結(jié)果輸出到控制臺或日志文件中。
二、如何處理硬盤壞塊
處理硬盤壞塊的方法主要有以下幾種:
1.修復(fù)壞塊
當(dāng)發(fā)現(xiàn)硬盤上有壞塊時,可以嘗試使用修復(fù)工具將壞塊修復(fù)。常用的修復(fù)工具有hdparm、e2fsck等。
hdparm的修復(fù)命令如下:
“`
sudo hdparm –repr-sector x /dev/sda
“`
其中x為壞塊的地址。
e2fsck的修復(fù)命令如下:
“`
sudo e2fsck -cc /dev/sda
“`
該命令會在檢查壞塊的同時,嘗試使用數(shù)據(jù)寫入修復(fù)壞塊。
2.替換硬盤
如果硬盤上的壞塊數(shù)量過多,或者修復(fù)無效,就需要考慮替換硬盤。在替換硬盤時,可以使用備份工具將數(shù)據(jù)備份到外部存儲設(shè)備中,并將備份數(shù)據(jù)恢復(fù)到新硬盤中。
3.忽略壞塊
如果壞塊數(shù)量不多,可以考慮忽略壞塊。可以使用mount命令掛載硬盤時,加上“-o errors=remount-ro”選項,該選項表示在發(fā)現(xiàn)壞塊時,將硬盤掛載為只讀模式,避免寫入數(shù)據(jù)導(dǎo)致數(shù)據(jù)丟失。
Linux系統(tǒng)中查找和處理硬盤壞塊是非常重要的,通過硬盤檢測工具和文件系統(tǒng)自帶的壞塊檢測工具,可以快速查找硬盤壞塊。在處理硬盤壞塊時,可以嘗試修復(fù)壞塊、替換硬盤、忽略壞塊等方法。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220怎么查看linux磁盤是否存在
fdisk -l 試試
一,查看磁盤狀態(tài)
這里簡單介紹兩個命令:df、du。
df:df用來檢查文件系統(tǒng)的磁盤空間占用情況??梢岳迷撁顏慝@取硬盤被占用了多少空間,目前還剩下多少空間等信息。 df的參數(shù)有:代碼:
-a 顯示所有文件系統(tǒng)的磁盤使用情況,包括0塊(block)的文件系統(tǒng),如/proc文件系統(tǒng)。
-k 以k字節(jié)為單位顯示。
-i 顯示i節(jié)點信息,而不是磁盤塊。
-t 顯示各指定類型的文件系統(tǒng)的磁盤空間使用情況。
-x 列出不是某一指定類型文件系統(tǒng)的磁盤空間使用情況(與t選項相反)。
-T 顯示文件系統(tǒng)類型。 對df命令進(jìn)行詳解:
引用:
dongmh@home:~$ df
Filesystem 1K-塊 已用 可用 已用% 掛載點
/dev/sda% /
這個就是最基本用法,你可能覺得奇怪已用和可用加在一起不等于前面的塊的總值,這是因為默認(rèn)狀況下,有留給root的專門用于維護(hù)管理的保留空間,不用在意。其他的用法無非是加上不同的參數(shù)顯示不同的信息,不再反復(fù)說明。
du:du用于統(tǒng)計目錄或文件所占磁盤空間的大小。 它的參數(shù)如下:代碼:
-s 對每個Names參數(shù)只給出占用的數(shù)據(jù)塊總數(shù)。
-a 遞歸地顯示指定目錄中各文件及子孫目錄中各文件占用的數(shù)據(jù)塊數(shù)。
若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數(shù)。
-b 以字節(jié)為單位列出磁盤空間使用情況(系統(tǒng)缺省以k字節(jié)為單位)。
-k 以1024字節(jié)為單位列出磁盤空間使用情況。
-c 最后再加上一個總計(系統(tǒng)缺省設(shè)置)。
-l 計算所有的文件大小,對硬鏈接文件,則計算多次。
-x 跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計。
二、Ubuntu硬盤分區(qū)
在一個有win的電腦上,分區(qū)無疑是一件很簡單的事。使用分區(qū)魔術(shù)師,對硬盤可以進(jìn)行分區(qū)、合并、調(diào)整大小,所以大多數(shù)和我一樣電腦上先有win的朋友在分區(qū)方面一定不用愁,整理下數(shù)據(jù),空出幾個分區(qū),然后在Ubuntu硬盤安裝的時候就可以利用安裝程序分好區(qū),以后就沒有什么可擔(dān)憂的了,但是某些朋友因為某些 需激亮要,必須利用linux操作系統(tǒng)進(jìn)行分區(qū),那么以下的內(nèi)容也許能有點價值。
首先談?wù)劵A(chǔ)知識,一個Ubuntu硬盤可以劃分4個區(qū),3個主要分區(qū),一個擴(kuò)展分區(qū),而擴(kuò)展分區(qū)里可以劃分n個邏輯分區(qū),擴(kuò)展分區(qū)本身不能儲存任何東西,也不能格式化成某種文件系統(tǒng)明臘寬,只能用于區(qū)分邏輯分區(qū)。
我們主要應(yīng)用的命令有三個:fdisk、cfdisk、gparted。其中前兩個命令在breezy中已經(jīng)安裝好了,如果你需要gparted的話是需要另外安裝的,我們的源里有,安裝方法:代碼:sudo apt-get install gparted
這三個軟件的不同之處主要在于直觀性、易用性,fdisk可以說最難用,而cfdisk有了字符的界面,gparted則有了基于gnome的更漂亮的界面,從功能的角度上來說三個軟件都差不多,但是有時不得不使用fdisk,這里我對三個軟件的使用進(jìn)行一定的說明:fdisk:代碼:sudo fdisk -l會列出所有硬盤之實體使用情況。代碼:sudo fdisk -l /dev/hda會列出之一快IDE硬盤的使用情況,響應(yīng)的來講可以換用/dev/sda等等。代碼:sudo fdisk /dev/hda
進(jìn)入硬盤分區(qū)模式,進(jìn)入這個模式后所有操作不會立刻生效,只會在得到確認(rèn)的命令后才會起作用。代碼:
m 顯示所有命令提示。
p 現(xiàn)實硬盤分區(qū)情況。
a 設(shè)定硬盤起動區(qū)。
n 設(shè)定新的硬盤分區(qū)。
l 列出所有文件系統(tǒng)類型。
e 在輸入n的情況下才能用,指增加一個擴(kuò)展分區(qū)。
p 在輸入n的情況下才能用,指增加一個主要分區(qū)。
l 在輸入n的情況下才能用,指增加一個邏輯分區(qū)。
t 改變硬盤分區(qū)屬性。
d 刪除硬盤分區(qū)。局兆
q 結(jié)束但不對硬盤進(jìn)行修改。
w 結(jié)束而且對硬盤進(jìn)行修改。
現(xiàn)在對fdisk的結(jié)果進(jìn)行詳解,以下是在我的電腦上運行的例子:引用:
dongmh@home:~$ sudo fdisk -l /dev/hda
Disk /dev/hda: 60.0 GB,bytes
255 heads, 63 sectors/track, 7297 cylinders
Units = cylinders of* 512 =bytes
Device Boot Start End Blocks Id System
/dev/hda1 *38+ 7 HPFS/NTFS
/dev/hda363682+ f W95 Ext’d (LBA)
/dev/hdaHPFS/NTFS
/dev/hda313698+ 7 HPFS/NTFS
/dev/hda9933+ 82 Linux swap / Solaris
/dev/hda41848+ 83 Linux
/dev/hda83728+ 83 Linux
/dev/hda+ 83 Linux
上面的提示表示,我的Ubuntu硬盤有60G,255個磁面,63個扇區(qū),7297個磁柱;每個磁柱容量是Byte 大約是8225KB或者8MB。
Device Boot Start End Blocks Id System分區(qū)序列 引導(dǎo) 開始 終止 容量 分區(qū)類型ID 分區(qū)類型引導(dǎo) 表示引導(dǎo)分區(qū),在上面的例子中 hda1 是引導(dǎo)分區(qū);開始 表示的一個分區(qū)從X cylinder(磁柱)開始;結(jié)束表示一個分區(qū)到 Y cylinder(磁柱)結(jié)束;然后進(jìn)入分區(qū)模式:
引用:
dongmh@home:~$ sudo fdisk /dev/hda
The number of cylinders for this disk is set to 7297.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):
上面的提示大概的意思就是我的Ubuntu硬盤大于1024個磁柱所以呢,老板本的lilo會不買我的帳,可以不用在意。我們先嘗試命令d
引用:
Command (m for help): d
Partition number (1-10):
它問你要刪除哪個分區(qū),一定要注意,如果刪了擴(kuò)展分區(qū),那么所有邏輯分區(qū)一塊跟著掛,一定要小心。我輸入7,再輸入p就可以看到自己的Ubuntu硬盤分區(qū)少了一個。
接下來我添加一個邏輯分區(qū):引用:
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (, default 3836):
Last cylinder or +size or +sizeM or +sizeK (, default 3957):
這里的兩個問題是,開始的磁柱是哪個,結(jié)束的磁柱是哪個。在結(jié)束的磁柱處可以用+sizeM +sizeK來輸入。然后是對分區(qū)類型的改變,我輸入t:
引用:
Command (m for help): t
Partition number (1-10): 7
Hex code (type L to list codes): L
輸入L可以看到所有磁盤的文件類型列列表,然后再從輸入相應(yīng)的文件系統(tǒng)ID就可以對分區(qū)文件系統(tǒng)進(jìn)行更改了。最后如果需要保存就輸入w,不許要則輸入q,這樣分區(qū)修改就算結(jié)束了。
cfdisk、gparted:cfdisk有非常直觀的界面,而gparted甚至是中文的,所以這里我就不再多作介紹。
三、Ubuntu硬盤格式化
分完區(qū)還不算完事,格式化后才能正常使用,這里介紹下Linux格式化命令:代碼:sudo mkfs -t 文件系統(tǒng)存儲設(shè)備格式化就是這么簡單,或者也可一這樣輸入命令:代碼:
sudo mkfs.ext3 /dev/sda6 把該設(shè)備格式化成ext3文件系統(tǒng)。
sudo mke2fs -j /dev/sda6 把該設(shè)備格式化成ext3文件系統(tǒng)。
sudo mkfs.ext2 /dev/sda6 把該設(shè)備格式化成ext2文件系統(tǒng)。
sudo mke2fs /dev/sda6 把該設(shè)備格式化成ext2文件系統(tǒng)。
sudo mkfs.reiserfs /dev/sda6 把該設(shè)備格式化成reiserfs文件系統(tǒng)。
sudo mkfs.vfat /dev/sda6 把該設(shè)備格式化成fat32文件系統(tǒng)。
sudo mkfs.msdos /dev/sda6 把該設(shè)備格式化成fat16文件系統(tǒng),msdos文件系統(tǒng)就是fat16。
sudo mkdosfs /dev/sda6 把該設(shè)備格式化成fat16文件系統(tǒng),同mkfs.msdos
sudo mkswap /dev/sda6 把該設(shè)備格式化成swap文件系統(tǒng)。
這樣分好區(qū),并且格式化結(jié)束,就可以進(jìn)行掛載了。
四、Ubuntu硬盤掛載文件系統(tǒng)
掛載文件系統(tǒng)有兩個方法,一種是利用mount命令,另外一種是修改/etc/fstab,因為修改/etc/fstab并不方便,所以我只介紹mount。mount命令的用法如下:
代碼:sudo mount 設(shè)備 目錄
使用這個命令前需要先生成一個用于被掛的目錄,創(chuàng)建了這樣的目錄后有個細(xì)節(jié)問題就是更改這個目錄的權(quán)限,最起碼要你可讀寫,這樣才能使你掛載的硬盤可讀寫,當(dāng)然ntfs的硬盤除外。代碼:chmod 777 目錄
而掛載時,也有可以省事的地方,比如說你不知道你的分區(qū)是什么文件類型你可以:代碼:sudo mount -t auto 設(shè)備目錄或者也可以:代碼:sudo mount 設(shè)備 目錄順便說下swap分區(qū),一般不這樣掛載,而采用加載命令進(jìn)行加載:代碼:sudo swapon 設(shè)備相應(yīng)的也就產(chǎn)生了:代碼:sudo swapoff 設(shè)備
五、Ubuntu硬盤對文件系統(tǒng)進(jìn)行掃描
各 位朋友對Windows中的scandisk不寞生吧,在Linux中就有類似這樣的工具fsck,不過fsck 可不僅僅是掃描,還能修正文件系統(tǒng)的一 些問題。一定要注意的是fsck 掃描文件系統(tǒng)時一定要在修復(fù)模式或把設(shè)備umount后進(jìn)行,否則會有重大的問題發(fā)生。
其中fsck 默認(rèn)支持 文件系統(tǒng)ext2,如果想支持ext3文件系統(tǒng)的掃描,應(yīng)該加-j 參數(shù),更好是我們應(yīng)該根據(jù)不同的文件系統(tǒng)來調(diào)用不同的掃描工具,比 如 fsck.ext2,fsck.jfs,fsck.msdos,fsck.ext3,fsck.reiserfs。對于fsck.ext2和 fsck.ext3有幾個常用參數(shù),如下:代碼:
-p 自動修復(fù)文件系統(tǒng)存在的問題;
-y 如果文件系統(tǒng)有問題,會跳出提示是否修復(fù),如果修復(fù)請按y;
-c 對文件系統(tǒng)進(jìn)行壞塊檢查;這是一個極為漫長的過程;
-n 不對文件系統(tǒng)做任何改變,只要掃描,以檢測是否有問題;
那么使用它的方法就是:代碼:sudo fsck.ext3 -p /dev/hda6任何對Ubuntu硬盤操作都是有危險的,千萬不要隨便練手,在可能的情況下盡量使用帶有界面的gparted,不到萬不得已不要隨便格式化。這是為了你的數(shù)據(jù)和Ubuntu硬盤壽命著想。
linux 壞塊查找的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 壞塊查找,Linux如何查找和處理壞塊,怎么查看linux磁盤是否存在的信息別忘了在本站進(jìn)行查找喔。
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計,高端小程序APP定制開發(fā),成都網(wǎng)絡(luò)營銷推廣等一站式服務(wù)。
分享文章:Linux如何查找和處理壞塊(linux壞塊查找)
當(dāng)前地址:http://www.dlmjj.cn/article/djesjjo.html


咨詢
建站咨詢
