-
Grub «Invalid Signature» error when booting windows
I have 3 hard disks. THe first one has windows, the second windows programs, and the third linux. Grub is installed to the MBR of the third, and it is my primary boot disk. Everything was working fine, but then, when I chose to boot to windows (which I had done before just fine), grub told me «Error 13: Invalid Signature» (or something like that). I made sure it pointed to the right paritition ((hd0,0) or /dev/sda1) and it did. I had wanted to upgrade to grub2 anyway, and I figured that would fix it, so I did that, and had it recheck and regenerate everything on its own. It generated an entry for windows (Windows 7, though it detected it as a Vista loader, but that is normal). Ubuntu booted fine in grub2, but when I tried to boot into windows, i got
Code:
Booting 'Windows Vista (loader) (on /dev/sda1)' error: invalid signature Press any key to continue
Upon pressing a key I was returned to the grub menu.
I figured it was a problem with windows then, so I booted into a windows 7 install CD, used the bootrec.exe program to repair the boot sector, and for good measure write a Windows MBR to the first hard disk. When booting from grub, same deal, but when I told the computer to boot from the first HDD, windows booted just fine.
So… anybody got any ideas?
fdisk -l:
Code:
Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x45824581 Device Boot Start End Blocks Id System /dev/sda1 * 1 12748 102398278+ 7 HPFS/NTFS /dev/sda2 12749 60801 385985722+ 7 HPFS/NTFS Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0005bb9c Device Boot Start End Blocks Id System /dev/sdb1 1 60801 488384001 7 HPFS/NTFS Disk /dev/sdc: 750.1 GB, 750156374016 bytes 255 heads, 63 sectors/track, 91201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0007e5e0 Device Boot Start End Blocks Id System /dev/sdc1 * 1 25 200781 83 Linux /dev/sdc2 26 65705 527574600 5 Extended /dev/sdc3 65706 91201 204796620 7 HPFS/NTFS /dev/sdc5 26 38270 307202931 83 Linux /dev/sdc6 38271 65705 220371606 83 Linux
-
Re: Grub «Invalid Signature» error when booting windows
hey,
i think your problem is that grub is using the wrong device name. instead of /dev/sda1 it should be /dev/hd0 or something like that.what I need you to do is show me
also show me /boot/grub/menu.lst file
from there i will determine your problem
-
Re: Grub «Invalid Signature» error when booting windows
The output of ‘fdisk -l’ would indicate that the device names are correct, but I am attaching the output of ‘dmesg’ anyway.
The relevant stuff is probably here:
Code:
$ sudo dmesg | grep sd[abc] [ 34.167023] sd 0:0:0:0: [sda] 976773168 512-byte hardware sectors: (500 GB/465 GiB) [ 34.167028] sd 0:0:0:0: [sda] Write Protect is off [ 34.167030] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 [ 34.167038] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 34.167076] sda: sda1 sda2 [ 34.193693] sd 0:0:0:0: [sda] Attached SCSI disk [ 35.012733] sd 1:0:0:0: [sdb] 976773168 512-byte hardware sectors: (500 GB/465 GiB) [ 35.012738] sd 1:0:0:0: [sdb] Write Protect is off [ 35.012740] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 35.012748] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 35.012778] sdb:<6>usb 2-6: configuration #1 chosen from 1 choice [ 35.040306] sdb1 [ 35.040338] sd 1:0:0:0: [sdb] Attached SCSI disk [ 36.070214] sd 2:0:0:0: [sdc] 1465149168 512-byte hardware sectors: (750 GB/698 GiB) [ 36.070219] sd 2:0:0:0: [sdc] Write Protect is off [ 36.070221] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00 [ 36.070229] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 36.070259] sdc: sdc1 sdc2 < sdc5 sdc6 > sdc3 [ 36.115180] sd 2:0:0:0: [sdc] Attached SCSI disk [ 39.540724] kjournald2 starting: pid 922, dev sdc5:8, commit interval 5 seconds [ 39.553978] EXT4-fs: mounted filesystem sdc5 with ordered data mode [ 44.592423] EXT4 FS on sdc5, internal journal on sdc5:8 [ 45.265730] kjournald2 starting: pid 2277, dev sdc1:8, commit interval 5 seconds [ 45.266803] EXT4 FS on sdc1, internal journal on sdc1:8 [ 45.266868] EXT4-fs: mounted filesystem sdc1 with ordered data mode [ 45.272555] kjournald2 starting: pid 2278, dev sdc6:8, commit interval 5 seconds [ 45.272939] EXT4 FS on sdc6, internal journal on sdc6:8 [ 45.281889] EXT4-fs: mounted filesystem sdc6 with ordered data mode
As to the menu.lst, grub2 doesn’t have one. It has been replaced by /boot/grub/grub.cfg (attached in first post). That file is automatically generated from scripts in /etc/grub.d/ and is updated whenever ‘update-grub’ is exectuted. (you can also prefedine fixed entries that it will include).
the relevant bit of the grub.cfg is:
Code:
51 ### BEGIN /etc/grub.d/30_os-prober ### 52 menuentry "Windows Vista (loader) (on /dev/sda1)" { 53 set root=(hd0,1) 54 chainloader +1 55 }
(the line numbers are because I copied it out of vim).
Actually, looking at that now, I wonder if it shuoldn’t be (hd0,0) instead… I will reboot and the post another update about that.
Oh, apparently the output of dmesg is too large a file to attach as a text file. Oh well.
EDIT: So I tried changing it to root=(hd0,0) but it said «no such partition». So, that wasn’t the problem. Or at least not the solution. It could be related to the problem. «Invalid signature» seems to suggest that it is finding something, it just doens’t like it for some reason.
Last edited by cak3; September 12th, 2009 at 03:05 AM.
-
Re: Grub «Invalid Signature» error when booting windows
So, a google search for «grub invalid signature» returned this thread as the first result, which isn’t entirely helpful. I guess google gives ubuntuforums.org high priority. Oh yea, anyway… bump.
-
Re: Grub «Invalid Signature» error when booting windows
If you change the boot order in bios, is there still a valid windows MBR on that drive to boot directly into windows. I suspect the problem may be a windows problem rather than grub. You should probably check that out. Post back your results.
12.10 Quantal w/grub2/Mint13 installed on raid0, Gigabyte AMD MB, AMD 64×4 CPUs at 3.2GHz, 16 GB ram, HD7770 ATI video, dual boot win7 on 64gb ssd and win8 on 1Tb SATA raid. 13.04 installed on raid0 and ssd
-
Re: Grub «Invalid Signature» error when booting windows
Originally Posted by ronparent
If you change the boot order in bios, is there still a valid windows MBR on that drive to boot directly into windows. I suspect the problem may be a windows problem rather than grub. You should probably check that out. Post back your results.
Yea, I kinda mentioned that in the first post, though it wasn’t very clear. I have a windows MBR on the first HDD, and if I choose to boot from that HDD (via the BIOS boot selection menu, same idea as changing the boot order) I can get into windows. I didn’t have a windows MBR on that drive until I wrote it from the win 7 disk after I started having this issue, since I couldn’t get to windows via grub.
I agree that it seems likely that it has something to do with windows, but the error is within grub, so I am hoping to at least figure out what «invalid signature» means and what needs to be done to fix it.
-
Re: Grub «Invalid Signature» error when booting windows
-
Re: Grub «Invalid Signature» error when booting windows
Considering the fact that you are able to boot into that same Windows installation (at least this is what I gathered) when not using GRUB, it would appear that the Windows installation is fine — e.g., I’d say the issue is with GRUB and its interpretation of your Windows drive. Maybe it’s having issues with the boot sequence, or the way the hard drives are connected physically?
You have two partitions on hd0. What is on each one? I personally find it odd that GRUB2 didn’t find partition 0 on hd0, considering that should be this one:
/dev/sda1 * 1 12748 102398278+ 7 HPFS/NTFS <<<<<<
/dev/sda2 12749 60801 385985722+ 7 HPFS/NTFS… but maybe I’m just talking out my *rse.
It doesn’t help your situation that the grub.cfg file isn’t to be edited manually even if we knew what was wrong with it!
-
Re: Grub «Invalid Signature» error when booting windows
The second partition on hd0 is all my user data for windows (the first one begin just the system itself). I was looking at the cfg file, and it seems grub2 calls the first partition (hdx,1) instead of 0 (which matches the /dev/sdx1 scheme). I assume this is so at least, since it uses (hd2,1) as the root when booting linux (which works) and the boot partition is the first one.
It could be something with the drive, thats a good idea. I’ll try writing grub to the MBR of one of the others and see if it works. Won’t be able to do that till later today though.
-
Re: Grub «Invalid Signature» error when booting windows
hd0,0 (equal to /dev/sda1) would be the first partition on the first hard drive, which I believe is the one GRUB2 should be pointing at as that’s the system partition, according to what you’ve described (makes sense size-wise as well). As such, I personally cannot see any issues with your grub.cfg file and its reference to the Windows drive; it would appear that the problem lies elsewhere.
Did anything at all change before all this happened, especially hardware changes? Could you find out what the exact error was that you got when you were still using GRUB Legacy? GRUB2 isn’t exactly a well-known entity as it stands.
Hello everyone.
I am trying to dual boot Arch and Windows 7. I am boot into Arch with no problem but when I select Windows 7; I am greeted with the ‘Error: Invalid Signature’ and redirects back to the Grub 2 menu.
I have googled and have tried many times, so I thought I would come to the endless supply of knowledge of the bbs.archlinux forums.
I can boot into Windows when I have it as the first boot drive in the BIOS, so I Windows is fine. It’s got to be one simple step I’m missing here.
P.S. I really wasn’t sure where to put this post.
I’ll go ahead and list some (hopefully) useful information:
sudo fdisk -l
Disk /dev/sdc: 500.1 GB, 500107862016 bytes, 976773168 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: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 * 63 1992059 995998+ 83 Linux
Partition 1 does not start on physical sector boundary.
/dev/sdc2 1992060 9992429 4000185 82 Linux swap / Solaris
Partition 2 does not start on physical sector boundary.
/dev/sdc3 9992430 976773167 483390369 83 Linux
Partition 3 does not start on physical sector boundary.
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes, 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: 0x0ca96061
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 1953521663 976759808 7 HPFS/NTFS/exFAT
Disk /dev/sda: 60.0 GB, 60022480896 bytes, 117231408 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: 0x4df1d31e
Device Boot Start End Blocks Id System
/dev/sda1 2048 117227519 58612736 7 HPFS/NTFS/exFAT
Where /dev/sda is Windows
/dev/sdb is an extra disk that holds music and documents
/dev/sdc is Arch
sdc1 is /boot
sdc2 is swap
sdc3 is root
Also my BIOS are set up to boot the Arch disk, then Windows, and final the extra disk.
/etc/grub.d/40_custom:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 7" {
set root=(hd0,1)
drivemap -s (hd0) (hd1)
chainloader +1
}
/boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root='hd2,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos3 --hint-efi=hd2,msdos3 --hint-baremetal=ahci2,msdos3 c15450d4-4fe6-4124-aa4e-a6419188845b
else
search --no-floppy --fs-uuid --set=root c15450d4-4fe6-4124-aa4e-a6419188845b
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_input console
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch GNU/Linux, with Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-c15450d4-4fe6-4124-aa4e-a6419188845b' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 4637508e-7f78-4f2d-9cd7-90868f1de62f
else
search --no-floppy --fs-uuid --set=root 4637508e-7f78-4f2d-9cd7-90868f1de62f
fi
echo 'Loading Linux core repo kernel ...'
linux /vmlinuz-linux root=UUID=c15450d4-4fe6-4124-aa4e-a6419188845b ro quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-c15450d4-4fe6-4124-aa4e-a6419188845b' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd2,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos1 --hint-efi=hd2,msdos1 --hint-baremetal=ahci2,msdos1 4637508e-7f78-4f2d-9cd7-90868f1de62f
else
search --no-floppy --fs-uuid --set=root 4637508e-7f78-4f2d-9cd7-90868f1de62f
fi
echo 'Loading Linux core repo kernel ...'
linux /vmlinuz-linux root=UUID=c15450d4-4fe6-4124-aa4e-a6419188845b ro quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-fallback.img
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 7" {
set root=(hd0,1)
drivemap -s (hd0) (hd1)
chainloader +1
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Thanks in Advance for anyone that is willing to help. Let me know if you need anymore information.
I am going to keep on researching and trying.
Last edited by pjk1939 (2012-12-02 23:22:35)
На нетбуке запаролен биос (сбросить нельзя, пароль не узнать) и нет возможности выставлять загрузку с устройств. На нетбуке стоит debian wheezy. Пытался через grub передать управление другим загрузчикам. Сделал загрузочную флешку с другим дистрибутивом линукса, через grub грузит нормально. Если в grub прописать путь до образа или этот образ распаковать в папку и прописать к нему путь, то при передачи управления выдает ошибку «invalid signature». Образ точно рабочий, если прописать в grub загрузку системы с образа он загружает. А вот передать управление загрузчику с образа не дает.
Прописываю в grub
menuentry «Ubuntu Live» {
set root=(hd0,7)
chainloader +1 (или chainloader /isolive/isolinux.bin)
}
-
Вопрос заданболее трёх лет назад
-
3305 просмотров
Пригласить эксперта
А инженерные пароли на сброс БИОСа в интернете не искали ??
Возможно не придется парится с GRUB
Гляньте сюда:
http://yvision.kz/post/82503
http://white55.narod.ru/biospass.html
Подбор или сброс пароля BIOS
http://habrahabr.ru/post/128466/
http://dogber1.blogspot.com/2009/05/table-of-reverse-engineered-bios.html
Или как вариант брут форс пароля, не знаю возможно ли это из-под ОС но на Андруино можно )
http://hackaday.com/2011/11/16/brute-force-bios-hacking-using-the-arduino/
-
Показать ещё
Загружается…
09 февр. 2023, в 22:06
500 руб./за проект
09 февр. 2023, в 22:01
50000 руб./за проект
09 февр. 2023, в 22:00
1 руб./за проект