为什么Ubuntu干净安装后有多个(6)交换分区?

在我的联想S12(Intel Atom)笔记本电脑的原始11.04上多次重新安装Ubuntu 11.10 x86之后,我发现我有六个交换分区。 最初的11.04只有一个。

我相信我只需要一个并且想知道为什么(以及如何)所有这些额外的分区出现,在我开始尝试使Hibernatefunction正常之前没有注意到。

这是正常的,还是一个bug?

从我的终端……

-@-:~$ cat /etc/fstab | grep swap # swap was on /dev/sda10 during installation UUID=d30c8114-cc1a-49d3-8924-be46a64c5be5 none swap sw 0 0 # swap was on /dev/sda2 during installation UUID=39421e04-b191-48a1-bfef-04ad1ad77329 none swap sw 0 0 # swap was on /dev/sda5 during installation UUID=5e047822-53ed-4f2a-bd5a-b25804f41dda none swap sw 0 0 # swap was on /dev/sda6 during installation UUID=e6589d14-fb5f-4e88-89d0-b3117a5382c9 none swap sw 0 0 # swap was on /dev/sda7 during installation UUID=71519d3c-8d4b-4e1d-a380-9d1f8d38fd04 none swap sw 0 0 # swap was on /dev/sda8 during installation UUID=43bfad50-23f1-4813-b622-fe78558f73a1 none swap sw 0 0 

和…

 -@-:~$ sudo fdisk -l | grep swap /dev/sda2 207722496 215533567 3905536 82 Linux swap / Solaris /dev/sda5 308408320 312580095 2085888 82 Linux swap / Solaris /dev/sda6 304234496 308400127 2082816 82 Linux swap / Solaris /dev/sda7 300060672 304222207 2080768 82 Linux swap / Solaris /dev/sda8 295886848 300046335 2079744 82 Linux swap / Solaris /dev/sda10 291713024 295884799 2085888 82 Linux swap / Solaris 

注意:/ dev / sda2是原始交换分区。

这是多么蠕虫……

首先,重复“hic·coughs”涉及安装Ubuntu 11.10 x86取代11.04导致重复重新安装,比试图在我的小型联想S12(Intel Atom)笔记本电脑上“修复”它们要简单得多。

  • 总之,使用原始磁盘分区和随后的重新安装对Lenovo S12 11.10桌面上几乎未使用的11.04进行初始安装会导致以下结果:五个新的交换分区,全部取自原始根分区。 这导致了一个非常长的启动(在桌面出现在屏幕上之后,长时间无响应时间会遮挡)。 没有任何迹象表明安装没有使用原始分区,并且正在以如此突兀的方式进行修改。 好吧,咆哮。

结果,当最终实现一个工作的Unity系统时,我有原始交换分区4GB,加上5个新的2.1GB,不需要和不需要的交换分区,从已经很小的根分区获取磁盘空间⋯根分区的20%在我的笔记本上。

注意:不适用于五笔装置

这就是我修复它的方法:

  1. 使用“磁盘工具”识别交换分区。
  2. 编辑/etc/fstab忽略这些分区,然后重新启动。
  3. 安装并使用gparted (Linux磁盘分区管理器)来删除5个多余的,新近弃用的交换分区。
  4. 从live-CD 引导以运行gparted以将缩小的根分区重新调整为完整大小。
  5. 惊喜……! ⋯使用grub resume >grub2在启动失败后正确启动Ubuntu。
  6. 下载,安装并运行grub-repair来修复被阉割的grub2
  7. 突然到当地的酒吧品尝几品脱的吉尼斯,并抱怨政府。

现在我不建议这样做,因为它是吵闹和危险的。 但是,如果你愿意尝试在这里继续我的步骤,从前面的一个人那里获得额外的阐述。

识别磁盘分区

使用“ 磁盘工具”可以发现哪些分区可以执 打开磁盘工具 (以通常的方式(在Unity鼠标左键上显示破折号图标,键入磁盘工具 ,…)

这是磁盘实用程序的屏幕截图(删除多余的交换分区后)⋯

截图2011-12-06 08-16-08.png

注意:按Ctrl- +一次或多次可使浏览器中的屏幕可拍, Ctrl-0Ctrl– (减号)恢复正常

在该视图中,选择“S12系统盘106 GB NTFS”。 在我的笔记本电脑上,5个多余的交换分区显示在“50 GB ext4”左侧和“扩展50 GB”下方。

  • 要处理分区,请使用鼠标选择(突出显示)它。
  • 所选分区正下方是“Device:/ dev / sd…⋯⋯”,用于标识分区。 记下要删除的内容。
  • 要删除所选分区,请单击窗口底部的“删除”。 您现在无法删除它们,因为系统正在或多或少地使用它们。

原始交换分区应该是第一个(我的4GB)。 其他的被添加到我的root所在的扩展分区中,每个2GB; / dev / sda5,/ dev / sda6,/ dev / sda7 ……

如果您计划恢复空间,就像我为扩展shrunken /root分区所做的那样,请确保它周围有未使用的空间。 通常这意味着只留下第一个或最后一个交换分区。

如果/root分区位于扩展分区中而要删除的交换分区不是,则这会很复杂地扩展/root分区。 但是可以做到。

你需要记下以下内容……

  • 启动盘(我的,只有一个磁盘,所以这里没问题)
  • 分区/root分区,如果在单独的分区上,则为/boot分区。

    注意:单独的/ boot分区在Ubuntu安装上不是标准的,并且必须由某人特别设置。 所以,如果你没有看到一个,那没关系。 更常见的是单独/家庭分区,同样特别设置,就像我的笔记本电脑上的情况一样。 我们不必在此关注这一点。

下一节将介绍一种将此信息更多或更轻松地作为预防措施的方法。

抢占式启动修复安装

你需要连接到互联网…

通过打开终端并输入…来下载并安装Boot-repair

 `sudo add-apt-repository ppa:yannubuntu/boot-repair` 

然后

 `sudo apt-get update && sudo apt-get install -y boot-repair` 

同意并肯定地回答所有问题。

然后以通常的方式启动引导修复 (在Unity鼠标左键上显示破折号图标,键入引导修复 ,…)

  • 同意更新,如果有的话
  • 选择“创建Bootinfo摘要…”
  • 等到出现一个消息框并记下URLhttp://paste.ubuntu.com/nnnnnn/ ),其中nnnnnn是一个很大的数字。 只需输入URL,您就可以通过浏览器随处阅读本文档。

这篇精彩文档的第一段将告诉您需要了解的内容。 保存副本,无需修复计算机即可访问。

  • 此外,如果你在这里遇到麻烦,很可能实际上,这些信息对于协助你的人来说是非常宝贵的。

编辑fstab以弃用不需要的交换分区

以通常的方式打开终端

输入sudo nano -B / etc / fstab ,作为我的一个例子⋯

 # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # #       proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda9 during installation UUID=83ca52f1-0518-4992-95b3-58f1d4f58bc0 / ext4 errors=remount-ro 0 1 # swap was on /dev/sda10 during installation UUID=d30c8114-cc1a-49d3-8924-be46a64c5be5 none swap sw 0 0 # swap was on /dev/sda2 during installation UUID=39421e04-b191-48a1-bfef-04ad1ad77329 none swap sw 0 0 # swap was on /dev/sda5 during installation UUID=5e047822-53ed-4f2a-bd5a-b25804f41dda none swap sw 0 0 # swap was on /dev/sda6 during installation UUID=e6589d14-fb5f-4e88-89d0-b3117a5382c9 none swap sw 0 0 # swap was on /dev/sda7 during installation #UUID=71519d3c-8d4b-4e1d-a380-9d1f8d38fd04 none swap sw 0 0 # swap was on /dev/sda8 during installation UUID=43bfad50-23f1-4813-b622-fe78558f73a1 none swap sw 0 

要阻止在计算机上使用不需要的交换分区,只需在行的前面添加“#”即可。 使用“gparted”中的备注

所以现在应该看起来像这样⋯

在此处输入图像描述

使用Ctrl-OEnter保存更改,然后使用Ctrl-X关闭

然后重启

现在系统应该更快完成启动。

使用gparted释放磁盘

现在已弃用的交换分区未被使用,可以通过选择每个分区并使用GUI的function删除它们来删除它们。 打开磁盘工具 (以通常的方式(在Unity鼠标左键上显示破折号图标,键入磁盘工具 ,…)

  • 要处理分区,请使用鼠标选择(突出显示)它。
  • 要删除所选分区,请单击窗口底部的“删除”。 您现在可以删除它们,因为系统不再使用它们。

使用liveCD恢复根分区上丢失的空间

释放由崇高的Ubuntu安装吞噬的磁盘空间需要从另一个操作系统启动系统,在这里我们选择Ubuntu LiveCD。 请安装相同的版本。

  • 还有其他方法可以做到这一点,随意使用你的针读取的东西。

从LiveCD启动并选择“试用Ubuntu”。

gparted在LiveCD上,虽然没有安装在Ubuntu的典型安装中。

打开终端并输入gksu garted 。 终端会抛出一堆像……这样的东西

 ubuntu@ubuntu:~$ gksu gparted (gksu:5791): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", (gksu:5791): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", (gksu:5791): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", (gksu:5791): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap", ====================== libparted : 2.3 ====================== 

…但随后GParted GUI将打开。 根据GParted调整/root分区的大小。

  • 不要打断这个过程⋯ 可能的后果将是可怕的

完成后,关闭liveCD并重新启动。

它可能会很好地重启,但我没有~~ 暗示阴沉的音乐

在分区resize后让grub2工作

首先,我们必须从grub rescue >开始通过grub2启动Ubuntu

  • 首先输入ls -l并按Enter键

你应该得到这样的列表(hd0) (hd0,1) …(hd0) (hd0,msdos1) …

这些对应于之前完成的引导信息脚本中的/ dev / sda,/ dev / sda1 ….

  • 它可能很棘手hd0, hd1, hd2…可能不完全符合/dev/sda, /dev/sdb/, /dev/sdc …
  • 匹配磁盘和分区,我的是磁盘的(hd0)和根分区的(hd9,msdos5)。 当然笔记本电脑只有磁盘,所以对我来说很容易。
  • 进一步向下的Bootinfo输出( http://paste.ubuntu.com/nnnnnn/ )是根分区所在的位置,在“⋯/boot/grub/menu.lst”下可能会有所帮助。

就像是:

 title Ubuntu 10.04.2 LTS, kernel 2.6.32-30-generic root (hd0,0) 

这些步骤来自这里 。 如果这些步骤不起作用,那么去的好地方。

一旦确定了grug安装盘和/root分区。 类型…

  • set prefix =(hd XY )/ boot / grub ,如上所述,X = 0,Y = msdos1(或只是1)
  • 如上所述 设置root =(hd XY
  • insmod normal 尝试加载正常模块
  • 正常 激活正常模块。 如果成功,将显示GRUB 2菜单。

如果grub启动菜单出现,就像它对我一样,你已经击败了几率,将你的肘部指向天花板并拍拍自己的背部。 然后执行下一步,这样您就不必再次执行此操作。

如果没有,回到这里 ,唉,祝你好运。

修复gr to以避免需要再次进行grub rescue >

完成grub引导修复…

再次运行boot-repair,这次你可能不必检查更新,这次运行“推荐修复”

菲尼

希望这可以帮助。 祝好运。

可能发生的是,对于Ubuntu的每个多个干净安装,每个都创建了一个交换分区,因为它没有重用以前的交换分区。 所以在5个干净的安装后你应该有5个交换的。 清理完6次后,你应该有6次。

我建议你做了几次干净的安装是另外一个但是选择手动分区,开始删除除一个以外的所有交换分区,然后告诉安装程序什么分区是交换,并根据需要分配根和其他分区。