Linux调整磁盘分区大小

Posted Sonictl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux调整磁盘分区大小相关的知识,希望对你有一定的参考价值。

Resize the disk (Linux调整磁盘分区大小)

Resize the partition. Run parted: $ parted

Show the partition list: (parted) print

There should be two partitions; 1 should be a boot partition, about 64MB; the second should be the main partition, about 3.6G

Some Disk Commands of Linux, that you should know:

  • sudo df -h          Display the FileSystem that you mounted
  • sudo fdisk -l    Show your disk information that is unmounted or un-parted

Sonictl: Here I didn't see two partitions by print command. but fdisk -l showed me that.

Resize the second partition to use the whole disk: (parted) resizepart 2 32GB

Sonictl: Here you may meet error: "Unrecognized disk label", useselect command to chang the device from "/dev/mmcblk1boot0" to "/dev/mmcble0", then try again.

Close parted: (parted) quit

Reboot to load the updated partition table: $ reboot

Log in as root again, resize the filesystem: $ resize2fs /dev/mmcblk0p2

Now you should have the full capacity of your microSD card available.

for some reason, you may meet: resize2fs: Permission denied to resize filesystem, you can fix this by Link:Manually Resize on Linux PC

======= above seems works well for Lubuntu/ubuntu =======

For most Embedded OS(raspbian/lubuntu/...), ref: Manually resizing the SD card on Raspberry Pi

======== for calculating the Cylinder# ========

Make a new partition with the exact size you got from the block count. Since you cannot enter block size in fdisk, you need to figure out how many cylinders to request. Here is the formula:

  (number of needed cylinders) = (number of blocks) / (block size)

  (block size) = (unit size) / 1024

  (unit size) = (number of heads) * (number of sectors/cylinder) * (number of bytes/sector)

Consider the following example, where a hard drive has been partitioned into four primary partitions of 1, 2, 4, and 8 cylinders.

disk /dev/sda: 16 heads, 63 sectors, 23361 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1         2       976+  83  Linux
/dev/sda2             3         5      1512   83  Linux
/dev/sda3             6        10      2520   83  Linux
/dev/sda4            11        19      4536   83  Linux
fdisk provides the configuration information I need in the head of the output. The unit size is 516096 ( 16 heads * 63 sectors/cyl * 512 bytes/sector ). The block size is 504 ( 516096 / 1024 ). The number of needed cylinders for the second partition is therefore 3 ( 1512 blocks / 504 ). The partition table shows that this is indeed the case: the first cylinder is 3, the second 4, and the last is 5, for a total of three cylinders. The number of needed cylinders for the third partition is calculated similarly: 2520 blocks / 504 = 5, which corresponds to blocks 6,7,8,9,10 . Notice that this calculation does not work for the first partition because the block count is wrong ( 976 instead of 1008 ). The plus sign indicates that not all the blocks are included in the fdisk value. When you try the calculation ( 976 / 504 ) you get 1.937. Knowing that the number of cylinders must be an integer, you can simply round up.



以上是关于Linux调整磁盘分区大小的主要内容,如果未能解决你的问题,请参考以下文章

linux下调整交换分区的大小

挂载磁盘分区大小

如何修改CentOS分区大小

Linux 使用LVM动态调整磁盘大小/扩容

linux如何调整分区大小?我的分区都满了。根分区还有很多没用,我想在根分区里面分点出来做扩展分区

Linux根目录分区大小调整教程