GNU parted的指令說明
http://www.phpweblog.net/killjin/archive/2007/09/14/1952.aspxParted是支很好用的程式,可以用來切割磁碟,也可以變動現有分割區的大小,很好用,尤其是變動分割區大小的功能超級好用,就像我學習parted的 原因,是為了把我的/usr擴大(因為當初在分割的時候,把usr切太小了)。但網路上似乎沒有完整一點的parted指令說明,於是我就依據官方 document,來做整理,因為小弟的英文程度不是很好,所以恐怕有的地方會有錯,或者有人願意為這文件增加內容,都歡迎指教,謝謝!!

GNU parted

文中的特殊用詞說明:
minor(我不會翻,意思就是在 parted裡的partition編號)
disk label(磁碟標記)
flag(旗標)

指令說明
check
用法:check minor
說明:檢查partition有沒有錯誤

cp
用法:cp [來源裝置] 來源minor 目的minor
注意:加了[]的參數是可有可無的參數。
說明:複製來源partition的檔案系統至目的partition,要注意的是下了這個指令後,會將目的partition原本的資料內容清除喔….要小心。而那個可選擇性的來源裝置選項就是用在”跨裝置”複製檔案系統,很方便吧。
範例:
(parted) cp /dev/hdb 2 3
意思是將/dev/hdb2的檔案系統拷貝至minor 3
支援的檔案系統有:
ext2,ext3(目的partition的容量要大於來源partition)
fat16,fat32
linux-swap
reiserfs

help
用法:help 指令
說明:show出一般的help,或者是某項指令的help說明

mklabel
用法:mklabel 標記類型
有以下這些類型:
bsd,loop(raw disk access)、gpt、mac、msdos、pc98、sun
說明:為整個磁碟建立一個新的磁碟標記,當建立新的磁碟標記時,此磁碟並沒有任何的partition。,因此尚不能使用,必須使用其他程式如Gpart來回復partition。

mkfs
用法:mkfs minor 檔案系統類型
說明:為一個partition 建立檔案系統類型,這個動作將會破壞掉此partition的所有資料。
支援的檔案系統類型有:
ext2,mips,fat16,fat32,linux-swap,reiserfs
範例:
(parted)mkfs 2 fat32
為minor 2這個partition建立為fat32的檔案系統類型

mkpart
用法:mkpart 分割區類型 [檔案系統類型] 起始 結束
說明:mkpart用來建立一個新的分割區,分割區類型有primary,extended,
logical。
範例:
(parted)mkpart logical 0.0 692.1
建立一個邏輯分割區,容量為692.1MB。注意的是,由於磁區計算方法不同的原因,也許你在建立容量範圍的時候會產生些微的偏差值,但這並不會對partition造成影響。

mkpartfs
用法:mkpartfs 分割區類型 檔案系統類型 起始 結束
說明:mkpartfs 用來建立一個新的分割區及檔案系統。
範例:
(parted)mkpartfs logical ext2 440 670
建立一個ext2的邏輯分割區,起始為440MB,結束為670MB,這個分割區共計230MB。

move
用法:move minor 起始 [結束]
說明:可以將整個partition位置移動。如果只給起始位置,沒給結束位置的話,將會保持這個partition原本的大小。
範例:
(parted)move 2 150
將minor為2的partition起始位置移動到150MB的地方。

name
用法:name minor 名字
說明:為partition命名(只有Mac及PC98可以用)。
範例:
(parted)name 2 ‘abc’
將partition 2 命名為abc。

print
用法:print
說明:show出parted正在處理的磁碟裝置的分割表。
範例:
(parted) print
Disk geometry for /dev/hda: 0.000-2445.679 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 945.000 primary FAT boot, lba
2 945.000 2358.562 primary ext2
3 2358.562 2445.187 primary linux-swap

quit
用法:quit
說明:離開parted。

rescue
用法:rescue start end
說明:用來挽救不小心被你用rm指令delete掉的partition。
範例:
(parted) print
Disk geometry for /dev/hdc: 0.000-8063.507 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 8056.032 primary ext3

(parted) rm
Partition number? 1
(parted) print
Disk geometry for /dev/hdc: 0.000-8063.507 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags

Oh my god~~不小心把ext3的partition砍了,這時候就rescue就派上用場了
(parted) rescue
Start? 0
End? 8056
Information: A ext3 primary partition was found at 0.031Mb ->
8056.030Mb. Do you want to add it to the partition table?
Yes/No/Cancel? y

(parted) print
Disk geometry for /dev/hdc: 0.000-8063.507 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 8056.032 primary ext3

嘿嘿~降就救回來了!!

resize
用法:resize minor 起始 結束
說明:調整partion的大小,要注意,resize只能改變partition大小,並不能改變minor,另外當你在改變ext2,ext3的大小時,新的起始位置必須要和舊的一,也就是說只能動尾不能動頭啦!!
範例:
(parted)resize 3 200 850
調整第3個partition為從200MB ~ 850MB。

rm
用法:rm minor
說明:移除partition,除果你不小心用rm指令搞掉了一個partition,你可以用mkpart來回復。注意,假如你現在有編號1~8,8個minor,當你把minor
6砍掉時,原本的minor7及minor8就會向前變為minor6及minor7,因此當你有做移除partition動作時,記得要去修改/etc/fstab裡頭的設定喔。
範例:
(parted)rm 3
移除minor3 這個partion。

select
用法:select 裝置名稱
說明:用來直接在parted裡切換裝置。
範例:
(parted)select /dev/hdb
切換處理的裝置到/dev/hdb

set
用法:set minor flag 狀態(on,off)
說明:變更partiton的flag,狀態那欄就是拿來設定flag要打開或關閉用的。Flag有下列幾種:boot、lba、root、swap、hidden、raid、LVM。
範例:
(parted)set 1 boot on
將partition1的旗標設為boot並且將之開啟。

講那麼多,不如做幾個實例看看吧!!
範例 1:增加partition的大小
假如我們的/dev/hda的分割區是以下這樣:
(parted) print
Disk geometry for /dev/hda: 0.000-1000.000 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.063 500.000 primary ext2
2 500.000 625.000 primary linux-swap

由上面可以看出我們擁有1000MB的空間,partition1用去500MB,partition2用去125MB,還有375MB空間可供運用,假如你想要將剩餘的375MB空間全部都給partition1使用的話,就照著下面的步驟來囉!!
#parted /dev/hda
進入parted,並選擇hda為操作的磁碟

(parted)rm 2
刪 除partition2。注意:在一般增加partition空間的情形下並不需要做刪除的動作,因為刪除動作會將partition裡的資料毀損。在這 個例子裡,partiton2是linux-swap,swap並不會儲存資料,所以把partiton2刪除了並不會有所影響,我們稍後再建立一個 linux-swap的partition就可以了。

(parted)resize 1 0.063 874.9
調整partition1的位置為從0.063到874.999,共875MB。
(parted) print
Disk geometry for /dev/hda: 0.000-1000.000 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.063 874.999 primary ext2

(parted)mkpartfs primary linux-swap 875 999.9
建立新的linux-swap partition。

(parted) print
Disk geometry for /dev/hda: 0.000-1000.000 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.063 874.999 primary ext2
2 875.000 1000.000 primary linux-swap

這樣就大功告成啦~~

範例2:增加一個即將不夠用的partition空間
假設我們的/dev/hda如下:
(parted) print
Disk geometry for /dev/hda: 0-8063.5 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.0 23.5 primary ext2 boot
2 23.5 8056.0 extended
5 23.6 3545.6 logical ext2
6 3545.6 7067.7 logical ext2
7 7067.7 7326.5 logical ext2
8 7326.5 7585.4 logical ext2
9 7585.4 7844.2 logical linux-swap

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda8 251M 31M 207M 13% /
/dev/hda1 23M 2.4M 19M 11% /boot
/dev/hda5 3.4G 577M 2.7G 18% /usr
/dev/hda6 3.4G 289M 2.9G 9% /home
/dev/hda7 251M 12M 226M 5% /var
如果我們想增加/var空間到1GB,而這想要增加的空間哪來呢??從/home拿過來好了。照著下面步驟來吧!!

(parted)resize 6 3545.6 6200
縮小/home的空間至500MB

(parted)mkpartfs logicai ext2 6200 7067.7
建立一個新的partition,這個partition將被編號為10。

(parted)cp 7 10
將partition7(/var)的內容copy到新建的partition10上。

(parted)rm 7
刪除partition 7,到了這個地方,由於partition 7被刪除了,於是原本的partition8、9、10號碼往前挪變成了partiton 7、8、9。

(parted)resize 9 6200 7326.5
調 整partition9(新的/var)大小為1G。到此,整個調整partition大小的動作只算完成了一半喔!!因為我們有新增partition 也有刪除partition,甚至連/var的parition位置都變了,所以最後的動作就是更改/etc/fstab囉!!
原本的/etc/fstab內容如下:
/dev/hda8 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda6 /home ext2 grpquota,usrquota 0 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda5 /usr ext2 defaults 1 2
/dev/hda7 /var ext2 grpquota,usrquota 0 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda9 swap swap defaults 0 0

parted做完後的變動如下:
/var變成了/dev/hda9
/ 變成了/dev/hda7
swap變成了/dev/hda8
因此修改後的/etc/fstab如下:
/dev/hda7 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda6 /home ext2 grpquota,usrquota 0 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/hda5 /usr ext2 defaults 1 2
/dev/hda9 /var ext2 grpquota,usrquota 0 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda8 swap swap defaults 0 0

重開機後!!就完成了。

转载于:https://blog.51cto.com/axlrose/1287527

GNU parted的指令說明[转]相关推荐

  1. vi指令說明(完整版)

    .vi 的操作模式 ==============vi 提供兩種操作模式:輸入模式(insert mode)和指令模式(command mode).當使用者進入 vi 後,即處在指令模式下,此刻鍵入之任 ...

  2. 在delphi中嵌入腳本語言--(譯)RemObjects Pascal Script使用說明(1)(譯)

    在delphi中嵌入腳本語言--(譯)RemObjects Pascal Script使用說明(1)(譯) http://blog.csdn.net/truexf/article/details/15 ...

  3. Chameleon 手動安裝說明 + Chameleon 2 RC5 Rev580

    原帖:http://bbs.pcbeta.com/viewthread.php?tid=797534 「前言」 [11/03] 因為有朋友對於轉換 BootThink 到 Chameleon 比較想瞭 ...

  4. 全幅與APS-C MTF曲線解讀說明

    原文出处 http://www.nikonclub.cc/nikon/lofiversion/index.php?t9987.html Clouder 2007/01/29 19:19:03 以下提到 ...

  5. php uv pv,PHP網站流量統計--[pv,uv,ip及$_SERVER]說明

    一.PV.UV.IP的英文解釋 PV(page view):頁面訪問量,每刷新一次就被記一次PV. UV(Unqie Vistor):獨立訪客,訪問您網站的一台電腦客戶端為一個訪客.24小時之內,同一 ...

  6. batocera_Batocera新手上路手冊(二):執行遊戲與基本操作說明

    ADVERTISEMENT 由於Batocera已經整合了萬能模擬器RetroArch以及必需的基本設定,可以省下一一安裝各種模擬器的功夫,使用起來相當便利,完成安裝後只需將遊戲檔案傳輸至隨身碟,就可 ...

  7. 使用Blackbird开源JavaScript库時,在IE6+、IE7下無法使用問題說明

    在新聞 [url]http://www.iteye.com/news/3832-goodbye-alert-the-use-of-new-information-pop-up-box[/url] 發布 ...

  8. 關於python 2.x中文字編碼的簡單說明

    關於python 2.x中文字編碼的簡單說明 關於python 2.x中文字編碼的簡單說明 from v2ex By 013231 at 2 天前, 154 次点击 剛剛看到有人在糾結文字編碼的問題, ...

  9. GNU ARM 汇编指令[转载]

    http://blog.sina.com.cn/s/blog_59b189220100au1k.html 第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程 ...

最新文章

  1. MySQL数据库之安装
  2. 3.1.2 内存管理的概念
  3. xpcom java_[Mozilla] JavaXPCOM 的jar 包概述
  4. 华为云发布新slogan,新年伊始加速奔跑
  5. 淘宝京东卖家可以用到的小工具和素材资源网站
  6. android listview 刷新不正确,Android中设置ListView内容刷新问题
  7. Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理
  8. JAVA通过调用数据库函数调用存储过程
  9. 7.Django|分页器
  10. 【笔记】第2章 向量
  11. linux多核cpu 优化,Ubuntu是否针对多核CPU进行了优化?
  12. java 累加器_09-flink-Accumulator(累加器)
  13. 【uni-app 怎么获取当前时间,获取年月日,获取星期,解决小程序在苹果手机少了八个小时】
  14. 2022中级Android开发面试解答,当上项目经理才知道
  15. halcon拓展系列—求平面度、段差算子regions_to_plane
  16. linux下格式化apfs,下一版 macOS High Sierra 将采用 APFS 文件系统
  17. bim机电翻模【风管转化】功能,识别CAD风管生成翻模
  18. 自动化测试解决验证码问题
  19. oracle数据库培训
  20. 肘关节附属运动测试软件,肘关节的运动

热门文章

  1. 徒手撸框架--实现 RPC 远程调用
  2. PWA之push服务
  3. inode 索引节点和软硬链接
  4. WinSock网络编程基础(3)server
  5. Azure恢复服务-使用Windows Backup备份到云端
  6. App列表之圆角ListView源码
  7. java基础初步总结
  8. 微软副总裁Bob Muglia对Silverlight的公开道歉信
  9. Qt Creator添加资源
  10. Net设计模式实例之建造者模式(Builder Pattern)(2)