为什么resize2fs会误读分区中的块数?

GameKyuubi

我正在尝试缩小分区以匹配另一个驱动器上另一个分区的大小。听说我首先必须缩小文件系统以使其匹配。我正在尝试使用进行此操作resize2fs,但是如果我使用中的值

cat /proc/partitions
major minor  #blocks  name

 202        0  178257920 xvda
 202        1  178249871 xvda1
 202       32   47185920 xvdc
 202       33   47184896 xvdc1

像这样

ubuntu@asdf:~$ sudo resize2fs /dev/xvda1 47184896

我懂了

resize2fs 1.42.13 (17-May-2015)
The containing partition (or device) is only 44562467 (4k) blocks.
You requested a new size of 47184896 blocks.

使用时出现类似问题parted

$ sudo parted /dev/xvda
GNU Parted 3.2
Using /dev/xvda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart 1 94371839
Error: The location 94371839 is outside of the device /dev/xvda.

如果我尝试resizepart 1 94371839对'/ dev / xvda1'执行操作,则会parted得到Error: The location 94371839 is outside of the device /dev/xvda1.它明显位于设备的块范围内的信息,如下所示:

sudo fdisk -l

Disk /dev/xvda: 170 GiB, 182536110080 bytes, 356515840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start       End   Sectors  Size Id Type
/dev/xvda1 *    16065 356515806 356499742  170G 83 Linux

这让我发疯。如何获得与resize2fs一起使用的文件系统大小和分区大小的正确值parted

耶利亚格雷

resize2fs不会误读块的数量。它仅使用4k块,而/proc/partitions报告1k块。

356499742 x 512B扇区= 178249871 x 1K块= 44562467 x 4K块

使用parted,您可以配置要使用的单位。似乎parted默认情况下使用MB,因此您要求将170GB分区的大小调整为94TB,这是正确的。

这是正确执行此操作的一种方法:

parted / dev / sdb 
GNU Parted 3.2
使用/ dev / sdb
欢迎使用GNU Parted!键入“ help”以查看命令列表。
(部分)帮助单元                                                        
  单位UNIT将默认单位设置为UNIT 

    UNIT是以下之一:s,B,kB,MB,GB,TB,紧凑型,cyl,chs,%,kiB,MiB,
        GiB,TiB 
(部分)单位kiB                                                          
(部分)打印                                                            
型号:ATA VBOX HARDDISK(scsi)
磁盘/ dev / sdb:524288kiB
扇区大小(逻辑/物理):512B / 512B
分区表:msdos
磁盘标志:

编号开始结束大小类型文件系统标志
 1 1024kiB     205824kiB   204800kiB主ext3 
 2 205824kiB 410624kiB 204800kiB主ext3 
已分区resizepart 1 200000                                              警告:缩小分区会导致数据丢失,您确定要
继续吗?
是/否?
(部分)打印                                                            
型号:ATA VBOX HARDDISK(scsi)
磁盘/ dev / sdb:524288kiB
扇区大小(逻辑/物理):512B / 512B
分区表:msdos
磁盘标志:

编号开始结束大小类型文件系统标志
 1 1024kiB     200000kiB   198977kiB primary ext3 
 2 205824kiB 410624kiB 204800kiB primary ext3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在lvextend之后需要做resize2fs?

resize2fs命令在Linux中做什么

无法使用resize2fs调整分区大小

resize2fs:尝试打开时超级块中的魔术码错误

为什么resize2fs告诉我错误的信息

resize2fs无法将分区调整为最大容量?

parted resizepart和resize2fs是否不会修改或删除分区上的现有文件?

fdisk不使用resize2fs缩小未挂载的分区

使用resize2fs在Vagrant archlinux中增加磁盘大小

通过resize2fs找回丢失的可用空间

如何确定resize2fs的新大小?

resize2fs和lvresize之间的区别?

LVM无法调整大小或无法通过resize2fs和e2fsck检查

默认情况下,`resize2fs`不执行任何操作吗?

将resize2fs与文件系统偏移量一起使用

Resize2fs:文件系统已经很长了。没事做!

DHClient在运行resize2fs后停止工作

在使用 resize2fs 缩小过程中意外丢失 /home

resize2fs似乎停留在第3遍(扫描inode表)-怎么办?

为什么符号链接在ext4fs中没有分配数据块?

为什么引导分区会创建1 KB的sda2?

为什么较小的块大小(相同的总线程数)会显示更多的并行性?

我在分区表中的符号列文件大小异常大——为什么会这样?

使用Linux从Windows分区中删除文件,为什么它们会永久丢失?

为什么在这个 DB2 函数中使用 IF-ENDIF 块会导致

为什么某些wav文件的数据子块会减少2个字节?

为什么我会放置一个synchronized块单线程方法中?

为什么在try块中重新声明函数标识符会引发SyntaxError?

减小Java中同步块的大小会意外损坏我的ArrayList,为什么会这样?