我新建了分区/dev/sdb3,并且格式化为ext4
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6313983 20480 10M 83 Linux
/dev/sdb3: UUID="6b300a6f-0579-458a-8000-ed24629f3da0" TYPE="ext4" PARTUUID="81a3aca2-03"
然后我把/dev/sdb3分区删掉,重新新建/dev/sdb3分区,结果不用mke2fs格式化,就能直接挂载该分区,而且还是ext4文件系统,难道删除分区重建不需要重新格式化么?求指导
2016-10-31 18:27:23
还是有点疑惑
例如/dev/sdb3分区
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6313983 20480 10M 83 Linux
我删除/dev/sdb3分区后,重建,size是5M,reboot
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6303743 10240 5M 83 Linux
/dev/sdb3: UUID="6b300a6f-0579-458a-8000-ed24629f3da0" TYPE="ext4" PARTUUID="81a3aca2-03"
我再删除/dev/sdb3分区后,再重建,size是15M,reboot
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293504 6324223 30720 15M 83 Linux
/dev/sdb3: UUID="6b300a6f-0579-458a-8000-ed24629f3da0" TYPE="ext4" PARTUUID="81a3aca2-03"
依然是已分区状态,已经把分区范围变化了,为何还是没变化呢?
2016-10-31 18:34:27
我再再删除/dev/sdb3分区后,再重建,size是15M,reboot
把First sector赋值为6293505,不使用默认值6293504
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2099199 2097152 1G 83 Linux
/dev/sdb2 2099200 6293503 4194304 2G 83 Linux
/dev/sdb3 6293505 6334463 40959 20M 83 Linux
/dev/sdb3: PARTUUID="81a3aca2-03"
这下就对了
结论:重建分区,如果改变了First sector的序号,就需要格式化;仅仅改变size,则会继续使用原文件系统格式。
PS:感谢各位答主!
用柵欄圍一塊空地,畫兩個大格子,(分區,格式化)
拿掉柵欄 (刪除分區)。但你畫的格子在。
在畫的兩格子外再圍上柵欄(又分區),於是你不用畫格子了(使用原來的檔案系統)。當然也可以塗掉原本畫的,畫上3個小格子(格式化為其他檔案系統)
我的理解是:fdisk刪除和創建分區會改變partition table裡的描述資料(可查看/dev/sdb第一個sector資料)
因為前面的分區都沒變,partition table裡對第三個分區描述的起始位址也沒有變,只改變大小的話,分區頭數據依然是最近一次格式化的數據,依然識別到ext4.
fdisk只是修改分區表的記錄而已,如果你的分區參數和原來一模一樣,那個當然可以繼續用了,這也是分區表被破壞後找回分區的原理。搜尋檔案系統的頭部然後重建分割區表。不過僅限於你的分割區開始磁區和總磁區數都不變的情況。如果改變了,例如變小了,那麼檔案系統的資料就不對了,這時候需要重新格式化建立新的檔案系統結構
刪除分區僅是將
MBR
或GPT
中的记录清除,而ext系的文件系统具体信息是由SuperBlock
提供的。SuperBlock
通常与Boot sector
在同一个Block(2k或4k的Block)中,所以如果你填充了对应的分区的前2k字节,就会发现文件系统被损坏。因此如果
Boot sector
和SuperBlock
所在的區塊沒有被填充過內容,當下次該區塊依然作為first block使用時,就會還原文件系統資訊。