當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]介紹如何調(diào)整linux分區(qū)大小

環(huán)境

服務(wù)器安裝有一個60G的硬盤,目前已經(jīng)劃分為/、/home、/chroot和/swap,詳細(xì)的分區(qū)信息如何下所示:


Command (m for help): p

Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217+ 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 7476 48186936 83 Linux



然后現(xiàn)在希望從/home分區(qū)里面分出大約4GB的空間用于安裝FreeBSD。

過程

首先,我們需要調(diào)整文件系統(tǒng)的大小(注意是文件系統(tǒng),而不是分區(qū)的大小),然后對調(diào)整完畢的文件系統(tǒng)進(jìn)行檢查,然后再進(jìn)一步調(diào)整分區(qū)的大小。

文章以我自己用的系統(tǒng)為例子,實(shí)際操作時根據(jù)情況調(diào)整即可。

用慣了傳統(tǒng)調(diào)整硬盤工具的人可能會認(rèn)為文件系統(tǒng)和硬盤的分區(qū)之間是統(tǒng)一的,實(shí)際上他們之間并不是完整的整體(這也就是為什么BSD可以在一個硬盤分區(qū)里面制作多個文件系統(tǒng)分區(qū))。想像一下帶有移動式書架的書櫥。你可以通過移動式書架調(diào)整書櫥里面書籍的位置。把書當(dāng)成文件系統(tǒng),你可以在書櫥里面放滿書籍,也可以通過移動式書架調(diào)整書櫥的空間。當(dāng)然也可以通過書架調(diào)整書櫥里面書籍存放的位置。如下圖所示:


|<-- hda1------>|<-- hda2------>|
+---------------+---------------+
|XXXXXXXXXXXXXXX|XXXXXXXXXX| |
|XXXXXXXXXXXXXXX|XXXXXXXXXX| |
+---------------+---------------+



硬盤分區(qū)/dev/hda1中的文件系統(tǒng)占滿了整個分區(qū),而/dev/hda2中的文件系統(tǒng)只占用了2/3左右的分區(qū)。

基本的原理就是這樣,現(xiàn)在讓我們開始調(diào)整/dev/hda6中文件系統(tǒng)的大?。?


[root@ringmail root]# umount /home
[root@ringmail root]# resize_reiserfs -s 43000M /dev/hda6

<-------------resize_reiserfs, 2002------------->
reiserfsprogs 3.6.4

You are running BETA version of reiserfs shrinker.
This version is only for testing or VERY CAREFUL use.
Backup of you data is recommended.

Do you want to continue? [y/N]:y
Processing the tree: 0%
....20%....40%....60%....80%....100% left 0, 301020 /sec

nodes processed (moved):
int 56 (0),
leaves 8124 (0),
unfm 6313240 (0),
total 6321420 (0).

check for used blocks in truncated region

ReiserFS report:
blocksize 4096
block count 11008000 (12046734)
free blocks 4678034 (5716736)
bitmap block count 336 (368)

Syncing..done



由于/home原來的大小是47057,而我們希望在/home里面劃分4G的空間出來,取整數(shù)/home的目標(biāo)大小就是43000。所以在resize_reiserfs時為-s提供大小為43000M。

這樣我們就已經(jīng)完成了文件系統(tǒng)大小調(diào)整的工作,下面讓我們計(jì)算一下目標(biāo)分區(qū)的大小,這個大小需要根據(jù)你的fdisk里面的Units值來計(jì)算,因?yàn)橛脖P分區(qū)都是按照柱面來劃分的,基本的計(jì)算方法為:43000*1024*1024/8225280=5481.7304699657640834111422346716,然后我們?nèi)∽罱咏闹?482+1478=6960來作為分區(qū)結(jié)束的柱號,這里面的1478是/home分區(qū)開始的柱面號,在前面的fdisk里面可以看到。

調(diào)整完文件系統(tǒng)的大小以后,再使用以下命令以文件系統(tǒng)進(jìn)行全面的檢查:


[root@ringmail root]# reiserfsck --check --fix-fixable /dev/hda6



現(xiàn)在我們已經(jīng)完成文件系統(tǒng)的大小調(diào)整工作,但是硬盤分區(qū)的大小仍然沒有調(diào)整,還是跟先前一樣大(可以想像我們從書櫥里面拿走了幾本書,而書架的大小并沒有調(diào)整,依然占用著原來的空間)。

現(xiàn)在我們要開始進(jìn)行整個操作里面最危險的操作:如果沒有必要的話,最好不要進(jìn)行下去:-D,不過不必過于擔(dān)心,按照以下操作進(jìn)行即可。

啟動fdisk,并按照以下步驟進(jìn)行:


[root@ringmail root]# fdisk /dev/hda

The number of cylinders for this disk is set to 7476.
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): p

Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217+ 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 7476 48186936 83 Linux

Command (m for help): d
Partition number (1-6): 6

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (1478-7476, default 1478): 1478
Last cylinder or +size or +sizeM or +sizeK (1478-7476, default 7476): 6960

Command (m for help): p

Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217+ 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 6960 44042166 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource
busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.



這里需要說明的是,由于內(nèi)核仍然使用舊的分區(qū)表,我需要通過重新啟動才可以刷新剛制作的分區(qū)信息,所以在進(jìn)行完重劃分區(qū)操作以后,我對系統(tǒng)進(jìn)行了重新啟操作。系統(tǒng)重啟后再繼續(xù)后續(xù)的操作過程。

通過以上步驟,我們已經(jīng)完成了硬盤分區(qū)大小調(diào)整的操作,接下來回到重新調(diào)整文件系統(tǒng)大小的問題上來。由于硬盤分區(qū)是按照柱面來計(jì)劃的,我們要在resize_reiserfs步驟上就一步到位調(diào)整文件系統(tǒng)大小與硬盤分區(qū)大小正好相等是比較困難的事情。所以一般是調(diào)硬盤分區(qū)比文件系統(tǒng)要大一點(diǎn)點(diǎn),然后再通過以下命令進(jìn)行同步(當(dāng)然如果你不在意硬盤分區(qū)里面存在部分空間的話也可以忽略以下步驟):


[root@ringmail root]# umount /home/
[root@ringmail root]# resize_reiserfs /dev/hda6

<-------------resize_reiserfs, 2002------------->
reiserfsprogs 3.6.4

ReiserFS report:
blocksize 4096
block count 11010541 (11008000)
free blocks 4680574 (4678034)
bitmap block count 337 (336)

Syncing..done



完成以后原有分區(qū)的大小調(diào)整操作已經(jīng)結(jié)束,接下來需要創(chuàng)建新分區(qū):


[root@ringmail root]# fdisk /dev/hda

The number of cylinders for this disk is set to 7476.
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): p

Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217+ 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 6960 44042166 83 Linux

Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (6961-7476, default 6961):
Using default value 6961
Last cylinder or +size or +sizeM or +sizeK (6961-7476, default 7476):
Using default value 7476

Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): a5
Changed system type of partition 7 to a5 (FreeBSD)

Command (m for help): p

Disk /dev/hda: 61.4 GB, 61492838400 bytes
255 heads, 63 sectors/track, 7476 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 915 7349706 83 Linux
/dev/hda2 916 1414 4008217+ 83 Linux
/dev/hda3 1415 7476 48693015 5 Extended
/dev/hda5 1415 1477 506016 82 Linux swap
/dev/hda6 1478 6960 44042166 83 Linux
/dev/hda7 6961 7476 4144738+ a5 FreeBSD

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource
busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.



至此,整個調(diào)整分區(qū)大小及創(chuàng)建新分區(qū)的操作全部完成。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉