简而言之,我从一个 Windows 程序中收到了 BSOD。然后我无法启动 Windows。我的系统设置了 GRUB 以双启动到 CentOS,因此我启动到 CentOS 并尝试使用 TestDisk 修复 MBR。现在我无法启动到任何一个操作系统,也看不到 GRUB。我能够使用 LiveCD 中的 TestDisk 查看文件,所以我可以看到它们仍然在那里。以下是来自启动信息脚本和一个 fdisk -l,从 Fedora LiveCD 运行。
目前,当我启动硬盘时,我会收到“硬盘错误”提示,仅此而已。
sdd 是包含 Windows 和 Linux 分区的硬盘。它显示 GRUB 已安装,但我无法启动它。我尝试使用 testdisk 进行“分析”和“深入搜索”,但我忘记了确切的错误,但它无法生成表格。
但根据 bootinfoscript,该表看起来不错。
请问,我该如何解决这个问题?一定有办法!
编辑:我尝试启动 Windows 7 安装盘,但修复模式看不到其分区。此外,CentOS 修复模式也看不到其分区。
启动信息脚本:
Boot Info Script 0.61 [1 April 2012]
============================= Boot Info Summary: ===============================
=> Windows is installed in the MBR of /dev/sda.
=> Grub Legacy (v0.97) is installed in the MBR of /dev/sdc and looks on boot
drive #1 in partition #3 for /grub/stage2 and /grub/grub.conf.
=> Testdisk is installed in the MBR of /dev/sdd.
=> Windows is installed in the MBR of /dev/sde.
sda1: __________________________________________________________________________
File system:
Boot sector type: -
Boot sector info:
Mounting failed: mount: unknown filesystem type ''
sdc1: __________________________________________________________________________
File system: ntfs
Boot sector type: Grub Legacy
Boot sector info: Grub Legacy (v0.97) is installed in the boot sector
of sdc1 and looks at sector 1 on boot drive #119 for
the stage2 file. A stage2 file is at this location on
/dev/sdd. Stage2 looks on the same partition for
/grub/stage2. No errors found in the Boot Parameter
Block.
Mounting failed: mount: unknown filesystem type ''
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
sdd1: __________________________________________________________________________
File system: ntfs
Boot sector type: Grub Legacy
Boot sector info: Grub Legacy (v0.97) is installed in the boot sector
of sdd1 and looks at sector 1 on boot drive #119 for
the stage2 file. A stage2 file is at this location on
/dev/sdd. Stage2 looks on the same partition for
/grub/stage2. No errors found in the Boot Parameter
Block.
Operating System:
Boot files: /bootmgr /Boot/BCD
sdd2: __________________________________________________________________________
File system: ntfs
Boot sector type: Grub Legacy
Boot sector info: Grub Legacy (v0.97) is installed in the boot sector
of sdd2 and looks at sector 1 on boot drive #119 for
the stage2 file. A stage2 file is at this location on
/dev/sdd. Stage2 looks on the same partition for
/grub/stage2. No errors found in the Boot Parameter
Block.
Operating System:
Boot files:
sdd3: __________________________________________________________________________
File system: ext4
Boot sector type: Grub Legacy
Boot sector info: Grub Legacy (v) is installed in the boot sector of
sdd3 and looks at sector 977307854 of the same hard
drive for the stage2 file, but no stage2 files can be
found at this location.
Operating System:
Boot files: /grub/menu.lst /grub/grub.conf
sdd4: __________________________________________________________________________
File system: Extended Partition
Boot sector type: Grub Legacy
Boot sector info: Grub Legacy (v0.97) is installed in the boot sector
of sdd4 and looks at sector 977306630 of the same hard
drive for the stage2 file. A stage2 file is at this
location on /dev/sdd. Stage2 looks on partition #3
for /grub/grub.conf.
sdd5: __________________________________________________________________________
File system: LVM2_member
Boot sector type: Grub Legacy
Boot sector info: Grub Legacy (v0.97) is installed in the boot sector
of sdd5 and looks at sector 977307806 of the same hard
drive for the stage2 file. A stage2 file is at this
location on /dev/sdd. Stage2 looks on partition #3
for /grub/grub.conf.
sde1: __________________________________________________________________________
File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: According to the info in the boot sector, sde1 has
625137663 sectors, but according to the info from
fdisk, it has 625151361 sectors.
Operating System: Windows 7
Boot files: /Windows/System32/winload.exe
vg_mikenix-lv_root': ___________________________________________________________
File system:
Boot sector type: Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type ''
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
ntfs_mst_post_read_fixup_warn: magic: 0x454c4946 size: 4096 usa_ofs: 48 usa_count: 2: Invalid argument
Actual VCN (0x1003800010004) of index buffer is different from expected VCN (0x0).
ntfs_mst_post_read_fixup_warn: magic: 0x454c4946 size: 4096 usa_ofs: 48 usa_count: 2: Invalid argument
Actual VCN (0x1003800010004) of index buffer is different from expected VCN (0x0).
mount: unknown filesystem type ''
vg_mikenix-lv_home': ___________________________________________________________
File system:
Boot sector type: Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type ''
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
ntfs_mst_post_read_fixup_warn: magic: 0x454c4946 size: 4096 usa_ofs: 48 usa_count: 2: Invalid argument
Actual VCN (0x1003800010004) of index buffer is different from expected VCN (0x0).
ntfs_mst_post_read_fixup_warn: magic: 0x454c4946 size: 4096 usa_ofs: 48 usa_count: 2: Invalid argument
Actual VCN (0x1003800010004) of index buffer is different from expected VCN (0x0).
mount: unknown filesystem type ''
mount: unknown filesystem type ''
vg_mikenix-lv_swap': ___________________________________________________________
File system:
Boot sector type: Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type ''
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Failed to read last sector (1953534081): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sdc1': Invalid argument
The device '/dev/sdc1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
ntfs_mst_post_read_fixup_warn: magic: 0x454c4946 size: 4096 usa_ofs: 48 usa_count: 2: Invalid argument
Actual VCN (0x1003800010004) of index buffer is different from expected VCN (0x0).
ntfs_mst_post_read_fixup_warn: magic: 0x454c4946 size: 4096 usa_ofs: 48 usa_count: 2: Invalid argument
Actual VCN (0x1003800010004) of index buffer is different from expected VCN (0x0).
mount: unknown filesystem type ''
mount: unknown filesystem type ''
mount: unknown filesystem type ''
============================ Drive/Partition Info: =============================
Drive: sda _____________________________________________________________________
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sda1 63 625,140,399 625,140,337 42 SFS
Drive: sdc _____________________________________________________________________
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sdc1 2,048 1,953,536,129 1,953,534,082 7 NTFS / exFAT / HPFS
/dev/sdc1 ends after the last sector of /dev/sdc
Drive: sdd _____________________________________________________________________
Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sdd1 * 2,048 211,679 209,632 7 NTFS / exFAT / HPFS
/dev/sdd2 206,848 976,767,119 976,560,272 7 NTFS / exFAT / HPFS
/dev/sdd3 976,764,928 977,788,927 1,024,000 83 Linux
/dev/sdd4 977,788,928 1,953,525,167 975,736,240 5 Extended
/dev/sdd5 977,790,976 1,953,523,711 975,732,736 8e Linux LVM
/dev/sdd1 overlaps with /dev/sdd2
/dev/sdd2 overlaps with /dev/sdd3
Drive: sde _____________________________________________________________________
Disk /dev/sde: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sde1 * 2,048 625,153,409 625,151,362 7 NTFS / exFAT / HPFS
/dev/sde1 ends after the last sector of /dev/sde
"blkid" output: ________________________________________________________________
Device UUID TYPE LABEL
/dev/loop0 squashfs
/dev/loop1 DM_snapshot_cow
/dev/loop2 squashfs
/dev/loop3 b39d6418-8f98-4350-a48a-e70b0dd203f9 ext4 _Fedora-17-x86_6
/dev/mapper/live-osimg-min b39d6418-8f98-4350-a48a-e70b0dd203f9 ext4 _Fedora-17-x86_6
/dev/mapper/live-rw b39d6418-8f98-4350-a48a-e70b0dd203f9 ext4 _Fedora-17-x86_6
/dev/mapper/vg_mikenix-lv_home 52e59386-1ea4-4dd0-b94b-6b8dbe389358 ext4
/dev/mapper/vg_mikenix-lv_root 563ab476-602e-4c05-abb7-33b44a12d9fb ext4
/dev/mapper/vg_mikenix-lv_swap 342be5e7-dd8b-44e5-9e9f-c705e385ad4e swap
/dev/sdc1 80C2F69090FA0800 ntfs New Volume
/dev/sdd1 80C2F69090FA0800 ntfs System Reserved
/dev/sdd2 80C2F69090FA0800 ntfs
/dev/sdd3 34bfd48b-c8ca-41f3-a5cb-aa9991e98f2d ext4
/dev/sdd5 GxpmvW-powX-BiJ1-qaXB-SH9r-fuV3-WUeBef LVM2_member
/dev/sde1 EE524F21524EEDC1 ntfs
/dev/sr0 iso9660 Fedora-17-x86_64-Live-Desktop.is
========================= "ls -R /dev/mapper/" output: =========================
/dev/mapper:
control
live-osimg-min
live-rw
vg_mikenix-lv_home
vg_mikenix-lv_root
vg_mikenix-lv_swap
================================ Mount points: =================================
Device Mount_Point Type Options
/dev/mapper/live-rw / ext4 (rw,noatime,seclabel,user_xattr,barrier=1,data=ordered)
/dev/sr0 /run/initramfs/live iso9660 (ro,relatime)
============================= sdd3/grub/grub.conf: =============================
--------------------------------------------------------------------------------
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_mikenix-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sdd
default=2
timeout=5
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.1.1.el6.x86_64)
root (hd0,2)
kernel /vmlinuz-2.6.32-279.1.1.el6.x86_64 ro root=/dev/mapper/vg_mikenix-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_mikenix/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_mikenix/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.1.1.el6.x86_64.img
title CentOS (2.6.32-279.el6.x86_64)
root (hd0,2)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_mikenix-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_mikenix/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_mikenix/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img
title Windows 7
rootnoverify (hd0,0)
chainloader +1
--------------------------------------------------------------------------------
=================== sdd3: Location of files loaded by Grub: ====================
GiB - GB File Fragment(s)
466.016604424 = 500.381518848 grub/grub.conf 1
466.016604424 = 500.381518848 grub/menu.lst 1
466.016795158 = 500.381723648 grub/stage2 1
465.821786880 = 500.172335104 initramfs-2.6.32-279.1.1.el6.x86_64.img 2
465.790484428 = 500.138724352 initramfs-2.6.32-279.el6.x86_64.img 2
465.826546669 = 500.177445888 initrd-2.6.32-279.1.1.el6.x86_64kdump.img 1
465.795757294 = 500.144386048 initrd-2.6.32-279.el6.x86_64kdump.img 1
465.804494858 = 500.153767936 vmlinuz-2.6.32-279.1.1.el6.x86_64 1
465.773245811 = 500.120214528 vmlinuz-2.6.32-279.el6.x86_64 1
======================== Unknown MBRs/Boot Sectors/etc: ========================
Unknown BootLoader on vg_mikenix-lv_root'
Unknown BootLoader on vg_mikenix-lv_home'
Unknown BootLoader on vg_mikenix-lv_swap'
========= Devices which don't seem to have a corresponding hard drive: =========
sdb
=============================== StdErr Messages: ===============================
ls: reading directory sdd2/: Input/output error
One or more specified logical volume(s) not found.
One or more specified logical volume(s) not found.
One or more specified logical volume(s) not found.
hexdump: /dev/mapper/vg_mikenix-lv_root': No such file or directory
hexdump: stdin: Bad file descriptor
hexdump: /dev/mapper/vg_mikenix-lv_root': No such file or directory
hexdump: /dev/mapper/vg_mikenix-lv_root': Bad file descriptor
One or more specified logical volume(s) not found.
One or more specified logical volume(s) not found.
One or more specified logical volume(s) not found.
hexdump: /dev/mapper/vg_mikenix-lv_home': No such file or directory
hexdump: stdin: Bad file descriptor
hexdump: /dev/mapper/vg_mikenix-lv_home': No such file or directory
hexdump: /dev/mapper/vg_mikenix-lv_home': Bad file descriptor
One or more specified logical volume(s) not found.
One or more specified logical volume(s) not found.
One or more specified logical volume(s) not found.
hexdump: /dev/mapper/vg_mikenix-lv_swap': No such file or directory
hexdump: stdin: Bad file descriptor
hexdump: /dev/mapper/vg_mikenix-lv_swap': No such file or directory
hexdump: /dev/mapper/vg_mikenix-lv_swap': Bad file descriptor
mdadm: No arrays found in config file or automatically
fdisk-l:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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: 0x48c044ea
Device Boot Start End Blocks Id System
/dev/sda1 63 625140399 312570168+ 42 SFS
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0x75f7e06d
Device Boot Start End Blocks Id System
/dev/sdc1 2048 1953536129 976767041 7 HPFS/NTFS/exFAT
Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x812f5830
Device Boot Start End Blocks Id System
/dev/sdd1 * 2048 211679 104816 7 HPFS/NTFS/exFAT
/dev/sdd2 206848 976767119 488280136 7 HPFS/NTFS/exFAT
/dev/sdd3 976764928 977788927 512000 83 Linux
/dev/sdd4 977788928 1953525167 487868120 5 Extended
/dev/sdd5 977790976 1953523711 487866368 8e Linux LVM
Disk /dev/sde: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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: 0x14a014a0
Device Boot Start End Blocks Id System
/dev/sde1 * 2048 625153409 312575681 7 HPFS/NTFS/exFAT
Disk /dev/mapper/live-rw: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 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 /dev/mapper/live-osimg-min: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 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 /dev/mapper/vg_mikenix-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/vg_mikenix-lv_home: 439.6 GB, 439609196544 bytes
255 heads, 63 sectors/track, 53446 cylinders, total 858611712 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/vg_mikenix-lv_swap: 6274 MB, 6274678784 bytes
255 heads, 63 sectors/track, 762 cylinders, total 12255232 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
答案1
CentOS livecd 可用于重新安装 Grub 并修复 MBR。有关此方法的详细信息,请参阅 CentOS wiki,网址为http://wiki.centos.org/TipsAndTricks/ReinstallGRUB