没有有效的分区表会产生什么后果?

没有有效的分区表会产生什么后果?

我最近从 11.10 升级了我的 Ubuntu (奥内里克) 至 12.04 (精准穿山甲)在一个戴尔 Inspiron B130笔记本电脑。当我运行时,fdisk -l它说我的硬盘不包含有效的分区表。我已经阅读了大量有关正确分区的内容,这使我相信这很糟糕,但我没有注意到任何奇怪的行为或问题。没有有效的分区表会产生什么后果?

答案1

可以在没有分区表的块设备上直接建立文件系统,这本质上没有任何问题。这只是意味着您只能拥有一个文件系统,而其上没有其他任何东西(没有交换分区等......)。然而,这样的块设备不太可能是可引导的。引导加载程序(grub)通常会潜入磁盘被分割成分区时产生的一些可用空间,如果没有这些空间,就没有地方可以放置它。

所以是的,每普苏西的评论,该工具一定是“错误的”。

可能的情况是您的磁盘具有 GPT 分区表并且没有 PC 旧版分区表。fdisk仅支持 PC 旧版分区表,因此可能会报告找不到分区表。这是不应该发生的,因为 GPT 分区应该包含一个有效的虚拟 fdisk 分区表以实现向后兼容性,但我认为这是可能的。要检查这一点,请使用partedgdisk通过查看 来询问内核它认为分区是什么/proc/partitions

另一种可能是fdisk由于某种原因无法读取磁盘(您有权限吗?您是 root 吗?)。

答案2

这其实并不是一件好事或坏事。错误“不包含有效的分区表”并不总是意味着这一点。您可以在无法识别的偏移量处拥有有效的分区表并得到相同的错误。

例如:

  • 如果您在原始磁盘上创建 LVM 卷而不先创建分区,然后在该卷上放置文件系统,您将收到此错误
  • 如果您尝试创建“对齐”存储并将起始扇区更改为可被 8 整除,我已经看到此错误或更常见的边界错误

我运行了几台机器,为了实现磁盘对齐,我从 4096(可被 8 整除)开始扇区,并从该点开始创建分区 1。

或者

创建 LVM 时无需先创建分区,以便它从磁盘的开头而不是从默认偏移量开始。

例子:

默认情况下,当您使用以下命令查看磁盘时,大多数磁盘都从扇区 63 开始fdisk -lu

Disk /dev/sdb: 21.4 GB, 21475885056 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41945088 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63    37752749    18876343+  8e  Linux LVM
/dev/sdb2        37752750    41752934     2000092+  8e  Linux LVM

-修改起始扇区时收到边界错误

Disk /dev/sda: 98.7 GB, 98784247808 bytes
255 heads, 63 sectors/track, 12009 cylinders, total 192937984 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *         128      204799      102336   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2          204800    78329807    39062504   82  Linux swap / Solaris
/dev/sda3        78329808   192937983    57304088   83  Linux

- 在未先创建分区的情况下将 LVM 添加到驱动器时​​出现分区表错误,因此没有分区表

Disk /dev/dm-5: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-5 doesn't contain a valid partition table

--> 该分区已/usr安装/dev/dm-5 on /usr type xfs (rw) --> 并且完全可访问

ll /usr
total 272
drwxr-xr-x   5 root root    38 Jan  3 11:10 X11R6
drwxr-xr-x   2 root root 57344 May  9 16:25 bin
..........

添加fdisk -lu您的问题的输出,很可能您在主驱动器以外的其他设备上收到此错误,并且绝对不是/dev/sda1因为您没有声明必须进行任何自定义修改才能启动系统。

这都是假设,没有看到你的具体细节。

编辑:我说的很多内容都包含在塞拉达的回答(以更简洁、更容易阅读的方式:})。希望我的“阐述”没有增加混乱。

相关内容