误用 mke2fs 导致无法启动系统

误用 mke2fs 导致无法启动系统

我在 Windows 7 64 位上用 WUBI 安装了 Ubuntu,并且用磁盘安装了 Mandriva 2011。我试图用 Ubuntu 学习 Linux,但使用不当mke2fs;重启电脑后,Windows 7 和 Ubuntu 都崩溃了。

因为我有 Mandriva,所以我启动了 Mandriva,发现

# df -h

/dev/sda7 12G 9.8G 1.5G 88% /
/dev/sda2 15G 165M 14G 2% /media/logical
/dev/sda6 119G 88G 32G 74% /media/2C9E85319E84F51C
/dev/sda5 118G 59G 60G 50% /media/D25A6DDE5A6DBFB9
/dev/sda9 100G 188M 100G 1% /media/ae69134a-a65e-488f-ae7f-150d1b5e36a6
/dev/sda1 100M 122K 100M 1% /media/DELLUTILITY
/dev/sda3 98G 81G 17G 83% /media/OS


# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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
Disk identifier: 0xd24f801e

Device Boot Start End Blocks Id System
/dev/sda1 2048 206847 102400 6 FAT16
/dev/sda2 * 206848 30926847 15360000 7 HPFS/NTFS/exFAT
/dev/sda3 30926848 235726847 102400000 7 HPFS/NTFS/exFAT
/dev/sda4 235728864 976771071 370521104 f W95 Ext'd (LBA)
/dev/sda5 235728896 481488895 122880000 7 HPFS/NTFS/exFAT
/dev/sda6 727252992 976771071 124759040 7 HPFS/NTFS/exFAT
/dev/sda7 481500243 506674034 12586896 83 Linux
/dev/sda8 506674098 514851119 4088511 82 Linux swap / Solaris
/dev/sda9 514851183 727246484 106197651 83 Linux

Partition table entries are not in disk order

我想我可以使用以下命令

mke2fs -j -L "logical"/dev/sda2

但我忘了在将其转移到之前它是什么类型的分区ext3。也许是 ntfs

数据没有丢失,我可以像在 Windows 中一样查看我的文件。在 Mandriva 中,有以下磁盘:

117.2 GB 的硬盘,里面的文件和我的 Windows 一样D:,并且安装了 Ubuntu;119.0 GB 的硬盘是我的G:,里面有我的个人文件;12.0 GB 和 Mandriva / 一样(带有 root 权限),101.3 GB 的硬盘上除了 lost+found 什么也没有;DELLUTILITY 应该是我电脑预装的戴尔电脑实用程序;logic 是被我破坏的磁盘,我除了 lost+found 什么也看不到;OS 是C:我的 Windows 里的。

启动后,grub让我选择 Mandriva 或 Windows。我选择了 Windows,它告诉我:

FILE system type unknown, partition type 0x7
Error 13: Invalid or unsupported executable format

我怀疑 Windows MBR 或其他东西有问题

# cat /boot/grub/menu.lst
timeout 5
color black/cyan yellow/cyan
gfxmenu (hd0,6)/boot/gfxmenu
default 0

title linux
kernel (hd0,6)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=199581b7-ac7e-4c5f-9888-24c4f213cad8 nokmsboot logo.nologo quiet resume=UUID=34c546e4-9c42-4526-aa64-bbdc0e9d64fd splash=silent vga=788
initrd (hd0,6)/boot/initrd.img

title linux-nonfb
kernel (hd0,6)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=UUID=199581b7-ac7e-4c5f-9888-24c4f213cad8 nokmsboot resume=UUID=34c546e4-9c42-4526-aa64-bbdc0e9d64fd
initrd (hd0,6)/boot/initrd.img

title failsafe
kernel (hd0,6)/boot/vmlinuz BOOT_IMAGE=failsafe root=UUID=199581b7-ac7e-4c5f-9888-24c4f213cad8 nokmsboot failsafe
initrd (hd0,6)/boot/initrd.img

title windows
root (hd0,1)
makeactive
chainloader +1

我可以启动 Linux,但不能启动 Ubuntu,它启动 Mandriva。我没有启动盘。

帮我找到一个让它再次工作的方法。

答案1

您想要的似乎不是启动 /dev/sda2,而是启动 /dev/sda5,但我对您的启动设置描述有点困惑。如果 Ubuntu 只安装了 wubi,我不明白怎么会有 Ubuntu grub。

我认为值得尝试启动 /dev/sda5。假设您实际上正在从某处运行旧版 grub 代码:

如果需要,请按 shift 打开 grub 菜单。

当您到达那里时,请仔细检查您看到的选项是否与您上面发布的 menu.lst 文件相匹配。

在启动开始时按“C”输入 grub 命令。*

进入:

 root (hd0,4)
 chainloader +1
 boot

并按 control-x* 执行。

(*我对 grub 需要按下的字母有些怀疑,因为我已经有一段时间没有用它而不是 grub2 了,但是 grub 提示应该可以指导你,请通过评论纠正我或根据需要编辑这个答案)。

如果你正在使用 grub2,它更像是:

在启动开始时按“C”输入 grub 命令。

进入:

 set root=(hd0,msdos5)
 chainloader +1
 boot

然后按下 Control-X

要提供有关 grub 及其配置文件位置的更多信息,您可以使用 Ubuntu live cd 中的“bootinfoscript”。有关该软件的信息,请参阅https://askubuntu.com/a/24487/63886

一旦 Ubuntu 运行,您就可以从那里运行 bootinfoscript,它可以指导您如何永久地理顺 grub 配置,这样您就不必输入命令来启动。

相关内容