mkdos分割槽後 空間大小分布情況分析
空間分布情況如圖:
上圖引數如下:
第0號扇區: 引導扇區;
第1號扇區: fsinfo 扇區;
第6號扇區: 備份引導扇區;
第7號扇區: 備份
fsinfo 扇區;
第0-31號扇區: 保留扇區數;
第32-15479號扇區: fat1;
第15480-30927號扇區: fat2;
第30928-15849471號扇區: 資料區(目錄也屬資料);
磁碟引數如下:
每簇扇區數: 8
fsinfo扇區中的空閒簇數: 0x001e2be5 = 1977317
fsinfo扇區中的下乙個空閒簇號:0x00000003 (根目錄已占用,0x00000002)
保留扇區數: 32
fat表扇區數:15448
fat表總數:2
整個磁碟扇區數:15849472 (0-15849471)
好了,讓我們來計算一下:
實際總空間大小扇區數(資料區) = 整個磁碟扇區數 -(
fat表扇區數*fat表總數 + 保留扇區數)
15849472 - (15448*2 + 32 ) = 15818544(扇區)
實際總空間大小簇數
: 15818544(扇區)
/8 = 1977318(簇)
剩餘空間大小簇數 = 實際總空間大小簇數 - 目錄已占用的一簇(第2簇)
1977318(簇) - 1 = 1977317(簇)(已跟fsinfo扇區中的空閒簇數相符合)
再看剩餘空間大小簇數是否與fat表的總簇數是否相等?
fat表總扇區數 = fat2扇區位址 - fat1扇區位址
15480 - 32 = 15448(扇區)
或root扇區位址 - fat2扇區位址 得出
30928 - 15480 = 15448 (扇區)
fat表總位元組數 = 15448
* 512 = 7909376 (位元組)
fat表總簇數 = 7909376 (位元組) / 4(位元組) = 1977344 (簇) //發現與前面計算1977317(簇)不一致??下面我們來分析一原因.
fat表可用簇數 =1977344 (簇)
- 2 - 1 = 1977341(簇) //前面兩個固定簇,1 個根目錄簇.
原因分析如下:
因為fat表以扇區為單位.如果不是15448(扇區)
,而是15447(扇區)會出現什麼情況呢?
fat錶能指向資料區的總簇數 =15447
* 512/4 = 1977216 (簇)//要比1977317(簇)少了101個簇.造成101*8*512=413696(位元組)浪費.
所以.在fat表上加多乙個扇區來儲存指標,也不要因為指標指不到造成浪費.fat表浪費也就浪浪費不到512位元組.兩個fat表也就不到512*2 = 1024位元組.
所以fat表最後乙個扇區的指標可能沒有指向可指向的空間,空間已經不夠了.由fat表計算剩餘簇空間是不準確的(可以特殊處理).
分配swap分割槽空間
1.分割槽,並修改為swap分割槽id root centos2 fdisk dev sdb 歡迎使用 fdisk util linux 2.23.2 更改將停留在記憶體中,直到您決定將更改寫入磁碟。使用寫入命令前請三思。命令 輸入 m 獲取幫助 t 分割槽號 1,2,4,5,預設 5 2 hex ...
增加分割槽空間
增加分割槽空間 root home 1 備份home cp r home homebak 2 解除安裝home umount home 程序占有 fuser m v i k home kill 9pid root bogon do you really want to remove active l...
增加swap空間 tmp分割槽
一 增加swap空間 增加swap空間的方法 1.使用dd建立乙個大檔案 dd if dev zero of u01 swapfile bs 1m count 512 2.使用mkswap格式化,使其變成swap分割槽 mkswap u01 swapfile 3.使其生效 swapon u01 sw...