Mam na komputerze Windows 7 i Ubuntu 11.04. Taki stan rzeczy istnieje od niedawna, gdyż przeprowadzałem format i reinstalację. Moim problemem jest to, że nie mogę dostać się do Windowsa. Gdy w GRUB-ie wybiorę właśnie Siódemkę to wyskakuje błąd mówiący, że brakuje pliku NTLDR. Aby uruchomić system Microsoftu muszę włożyć pendrive’a, z którego go instalowałem i w konsoli wpisać poelcenie bootrec /fixmbr. Wtedy 7 włącza się bezproblemowo, ale z kolei nie mam GRUB-a i dostępu do Ubuntu. I dalej - żeby mieć Linuxa uruchamiam go z płyty, aktualizuję GRUB-a i mam Ubuntu, ale brak pliku NTLDR. I tak w kółko. Co poradzić w takiej sytuacji, żebym miał dostęp do obu systemów?
Dodam, że dysk podzieliłem na 3 partycje pod Ubuntu: / , /boot i /home , przestrzeń wymiany, partycję pod Windowsa i z danymi. Przy instalacji Linuxa jako miejsce dla GRUB-a wskazałem to co było domyślne, czyli dev/sda, więc chyba MBR. Pomóżcie… :?
#
# 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 ###
if [-s $prefix/grubenv]; then
set have_grubenv=true
load_env
fi
set default="0"
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 recordfail {
set recordfail=1
if [-n "${have_grubenv}"]; then if [-z "${boot_once}"]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos8)'
search --no-floppy --fs-uuid --set=root 6adbf15b-e8d9-47cd-b8fc-0eed8c227952
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos9)'
search --no-floppy --fs-uuid --set=root 4b99147f-870d-42a3-9208-db1d4d3e03e3
set locale_dir=($root)/grub/locale
set lang=pl_PL
insmod gettext
if ["${recordfail}" = 1]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos8)'
search --no-floppy --fs-uuid --set=root 6adbf15b-e8d9-47cd-b8fc-0eed8c227952
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
set color_normal=light-gray/black
set color_highlight=white/black
else
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
clear
fi
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
if [${recordfail} != 1]; then
if [-e ${prefix}/gfxblacklist.txt]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [${match} = 0]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if ["$linux_gfx_mode" != "text"]; then load_video; fi
menuentry 'Ubuntu, za pomocÄ… systemu Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos9)'
search --no-floppy --fs-uuid --set=root 4b99147f-870d-42a3-9208-db1d4d3e03e3
linux /vmlinuz-2.6.38-8-generic root=UUID=6adbf15b-e8d9-47cd-b8fc-0eed8c227952 ro quiet splash vt.handoff=7
initrd /initrd.img-2.6.38-8-generic
}
menuentry 'Ubuntu, za pomocÄ… systemu Linux 2.6.38-8-generic (tryb ratunkowy)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos9)'
search --no-floppy --fs-uuid --set=root 4b99147f-870d-42a3-9208-db1d4d3e03e3
echo 'Loading Linux 2.6.38-8-generic ...'
linux /vmlinuz-2.6.38-8-generic root=UUID=6adbf15b-e8d9-47cd-b8fc-0eed8c227952 ro single
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.38-8-generic
}
### 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+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos9)'
search --no-floppy --fs-uuid --set=root 4b99147f-870d-42a3-9208-db1d4d3e03e3
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos9)'
search --no-floppy --fs-uuid --set=root 4b99147f-870d-42a3-9208-db1d4d3e03e3
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 01CBAE7CDC932680
chainloader +1
}
### 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.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [-f $prefix/custom.cfg]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Prawdopodobnie nie sformatowałeś starego MBR, w zasadzie należało go usunąć, a Win7 utworzyłby go na nowo przy instalacji. Sam plik NTLDR przynajmniej w Win XP można “podmienić”, czyli usunąć
z dysku i w jego miejsce w Twoim przypadku skopiować z instalatora systemu znajdującego się na Pendrive.
Najszybciej uzyskasz efekt reinstalując obydwa systemy, najpierw Win 7, potem Linuksa.
W Windows 7 raczej nie ma możliwości skopiowania pliku NTLDR, szukałem w Googlach i nic, pozostaje opcja fixboot , ewentualnie fixmbr.
Chyba chodzi ci o wyczyszczenie MBR-a, a nie jego usunięcie. A da się go w ogóle sformatować?
Ubuntu instalowałem ponownie już kilka razy, Windowsa nie ruszałem. Przed reinstalacją zmieniałem rozmiary partycji i oczywiście je formatowałem. Wcześniej miałem oprócz dwóch wymienionych systemów też XP, teraz już nie, może to wpływa jakoś na problem?
Problem raczej nie leży w braku tego pliku (pliki o tak sobie nie znikają, chyba że był na partycji z XP), tylko w tym że poprzez zmianę partycji windows-owy bootloader nie może znaleźć tego pliku jako że mogła się zmienić kolejność partycji. Najlepszym rozwiązaniem w tym przypadku jest włożenie płytki instalacyjne z Win 7, użycie opcji Napraw system (czy jakoś tak) a następnie jeżeli będzie taka potrzeba przywrócenia grub-a, a na przyszłość, jeżeli mam zainstalowanego win-a i nie chcemy go “zepsuć” to raczej nie należy grzebać w układzie partycji.
Zbyt zawile wyszło, więc wyjaśniam: usunięcie=sformatowanie=wyczyszczenie (MBR). Ponieważ wciąż zmieniałeś tablice partycji, przy każdej reinstalacji systemu, wyczyszczenie wyłącznie programu rozruchowego w MBR może nie wystarczyć, napraw , jeśli to jeszcze możliwe.