Open abbshr opened 9 years ago
本来懒得记录这种命令介绍类的日志, 都是Google一大把一大把的文章. 但我对分区一向很谨慎, 为了防止今后重蹈覆辙, 还是决定把分区相关的步骤有条理的记一下.
Q: 如何对设备分区? A:
fdisk <device>
m
p
+N<G|M|K>
+2G
parted
help
分区之后如果不想重启, 就手动刷新一下内核分区表(就是从硬盘分区表里重读一遍): partprobe.
partprobe
/dev/sda9
mkfs.ext4 /dev/sda9
mkfs
tab
Q: 如何调整文件系统的大小? A: 目前我所知道的就是resize2fs.如果在上一步你并没有将整个分区格式化, 这样partition可能留有空余. 想把这部分也利用起来, 就可以:
resize2fs
resize2fs /dev/sda9
后面也可以接参数,表示额外需要的新空间大小:
resize2fs /dev/sda9 [Ns|K|M|G]
注意resize大小永远不能超过partition大小. 允许扩增已挂载的文件系统, 但要减小文件系统必须先卸载. 其余注意事项详见man resize2fs
man resize2fs
Q: 如何对格式化之后的分区调整大小? A: 注意与上面的区别. 如果根分区已满, 并且当初安装系统时手残没有为/usr,/var, /home等目录划分独立挂载点. 其实这个问题隐含了两个其他问题:
/usr
/var
/home
如何调整已挂载的根目录大小? 最保险也是最通用的做法是livecd, 在livecd下原有设备根分区是unmounted的, 因此可以当做普通分区一样resize. 如果想折腾一下, 也可以用fdisk, fdisk允许在挂载状态下对设备重新分区:
fdisk
fdisk /dev/sda # 记住根目录分区的起始柱面 > p # 删根目录所在分区 > d # 如果没有空闲空间那就继续删 ... # 从原来根分区起始处重建分区 > n # 重设大小...
这样一番折腾, 原有的数据会不会被清掉? 答案是不会, 不然我为何会记录这么脑残的做法... 不过为了以防万一也应该备份一下数据. 之后参照上一步, 调整以下分区上的文件系统大小.
如何调整其他文件系统大小? 上面的步骤对这个完全适用. 除了fdisk, 也可以用parted, 或者建立LVM(逻辑卷管理), 很明显后者的做法是一劳永逸的. 这在parted里很简单, 不用删除分区再重建, 直接一个子命令resizepart搞定分区调整:
resizepart
parted /dev/sda9 # 出于习惯, 可以先看看当前分区表 > p # 比如调整分区号为 5 的partition, end参数代表硬盘位置, 表示要扩展到哪里, 可正可负, 比如: 4G, 10%, -5G. > resizepart 5 <end>
记得先卸载目标分区, 调整之后执行partprobe刷新内核分区表.然后用resize2fs重新调整文件系统大小.
本来懒得记录这种命令介绍类的日志, 都是Google一大把一大把的文章. 但我对分区一向很谨慎, 为了防止今后重蹈覆辙, 还是决定把分区相关的步骤有条理的记一下.
Q: 如何对设备分区? A:
fdisk <device>
命令搞定. 子命令很简单, 忘记如何操作只需m
就行,p
是最常用的没有之一:查看设备当前的分区表. 现在fdisk很人性化, 分区时可以输入+N<G|M|K>
(比如+2G
)来确定分区大小.parted
命令更强, 支持2T以上的分区. 当然这是题外话, 简单的分区也是可以的. 子命令同样简单,help
或者他的alias:m
会告诉你想要的.分区之后如果不想重启, 就手动刷新一下内核分区表(就是从硬盘分区表里重读一遍):
partprobe
.A: 在使用disk之前, 必须格式化, 即建立操作系统能识别的文件系统.假如已经通过上一步划分了分区
/dev/sda9
, 这一步操作即可将该分区格式化成ext4:mkfs.ext4 /dev/sda9
其他格式可以键入mkfs
并按两次tab
键查看.one more thing, 格式化分区之前别挂载它.
Q: 如何调整文件系统的大小?
A: 目前我所知道的就是
resize2fs
.如果在上一步你并没有将整个分区格式化, 这样partition可能留有空余. 想把这部分也利用起来, 就可以:后面也可以接参数,表示额外需要的新空间大小:
注意resize大小永远不能超过partition大小. 允许扩增已挂载的文件系统, 但要减小文件系统必须先卸载. 其余注意事项详见
man resize2fs
Q: 如何对格式化之后的分区调整大小?
A: 注意与上面的区别. 如果根分区已满, 并且当初安装系统时手残没有为
/usr
,/var
,/home
等目录划分独立挂载点. 其实这个问题隐含了两个其他问题:如何调整已挂载的根目录大小? 最保险也是最通用的做法是livecd, 在livecd下原有设备根分区是unmounted的, 因此可以当做普通分区一样resize. 如果想折腾一下, 也可以用
fdisk
, fdisk允许在挂载状态下对设备重新分区:这样一番折腾, 原有的数据会不会被清掉? 答案是不会, 不然我为何会记录这么脑残的做法... 不过为了以防万一也应该备份一下数据. 之后参照上一步, 调整以下分区上的文件系统大小.
如何调整其他文件系统大小? 上面的步骤对这个完全适用. 除了
fdisk
, 也可以用parted
, 或者建立LVM(逻辑卷管理), 很明显后者的做法是一劳永逸的. 这在parted
里很简单, 不用删除分区再重建, 直接一个子命令resizepart
搞定分区调整:记得先卸载目标分区, 调整之后执行
partprobe
刷新内核分区表.然后用resize2fs重新调整文件系统大小.