after 7.10 install Win2000 no longer boots

Asked by Joachim Stegmaier

I have installed ubuntu 7.10 yesterday. Win2000 was present on my PC, I want to keep that. The installation process repartitioned my 200GB HDD into 2 almost identical blocks. Ubuntu boots without problems, and I can see all my files and data on the W2K partition from linux.

If I try to start W2K now, I get -after a short time and some HDD access- a blue screen "inaccessible boot device". Nothing helps (means I have tried several windows boot options line safe mode, debug mode etc.)

I guess I have trouble with my harddisk. The disk has 200GB, my PC is an old Dell Optiplex GX110. The BIOS was unable to use the entire 200GB, and while installing windows on the empty HDD it was partitioned and formatted to 132 GB. That's also a limitation of Win2K in versions earlier SP3. After that I installed W2K SP4.

Now ubuntu increased that size to 200GB, giving 100GB to Windows and about 100GB to linux. Probably that changed HD access to 48 bit LBA and W2K still assumes to have 28 bit LBA.

Looking at the samsung website (drive is a Samsung SP2014N) shows that there is an Ontrack disk manager available to work around that barrier. But I think that might interact to the linux boot mgr? Shall I simply try to re-install windows?

Any ideas how to get w2K running again

Thanks in advance
Joachim

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Joachim Stegmaier
Solved:
Last query:
Last reply:
Revision history for this message
W. Prins (wprins) said :
#1

OK, unfortunately a slightly tricky problem to solve, but hopefully not insurmountable. What I would try is roughly the following:

Preparation:
A.) Whatever you do, backup the Windows partition to ensure you don't lose anything. You should be able to copy the contents of your existing partition from Linux into a sub-directory on your Linux partition, providing there's space. You could also consider taking a partition image if you
B.) Install GRUB on a floppy disk so you can boot your Linux regardless of whether the MBR on the hard drive is overwritten, which will then enable you to put back GRUB back onto the hard drive later on, if need be. Check that it works by booting your Linux partition from the floppy.

Then, EITHER

C.) Try a repair install on on top of the existing Windows, if that works and Windows boots then
D.) Boot from the floppy and restore/reinstall GRUB again checking that both Windows and Linux will now boot.

OR

C.) Perform a clean installation of Windows from the Windows CD onto the Windows 100GB partition, reformatting it as FAT, ensuring that in principle Windows can boot this new partition. Formatting as FAT avoids complications later when Linux copies back your original installation's files to the newly formatted partition.
D.) Boot back into Linux with the floppy and re-install GRUB into the MBR and check both Windows and Linux will now boot.
E.) From Linux, delete the files on the (now FAT) Windows partition, then copy back all the files from your original installation, onto this new partition. In theory, this should give you a bootable version of your original installation.
F.) Check that Windows boots back into your original installation. If so, then you have the option to convert your partition back to NTFS if you like, using the "convert" command.

It's a little hard to post exact commands to use without knowing exactly what your disk partition names are etc. Can you therefore please post the output of the following command:

fdisk -lu

Note: You can copy text directly from your terminal into your browser by marking it in the terminal, then while the text is highlighted, middle clicking in the window into which you want to paste it. Middle clicking = middle button click/mousewheel click or clicking the left&right buttons at the same time.

The fdisk command output should list all your partitions and should help us to establish exactly which commands to suggest to you.

Revision history for this message
W. Prins (wprins) said :
#2

Please note: the command should be issued from a root/administrator shell, or with sudo, as follows:

sudo fdisk - lu

Revision history for this message
Joachim Stegmaier (joachim-stegmaier) said :
#3

Thanks for your _very_ fast help.

Meanwhile I have tried to repair windows. Win repair says it doesn't find any windows installation. It shows me the correct partition, but then says that partition broken.

So finally after some further tries I decided to use a second hard disk. I copied all windows files to Linux, then installed and mounted the (old) second HDD. Then I installed Windows completely new without having the Linux disk connected. After that Linux can mount the other disk and has full access.

So that's fixed for now. I think Windows can't handle the partitions set up by Linux and so I guess there might be no real fix for that problem.

But now one more question. GRUB now shows only the Linux HDD (it was the only in the system when I re-installed ubuntu). How can I add the Windows partition to menu.lst to select the OS to use at boot time? My windows drive is master on IDE#2, Linux is master on IDE#1. The Linux disk is called hd0,0 in GRUB, what is the correct name in GRUB for the windows disk (hd1,0) or (hd0,1)?

Revision history for this message
W. Prins (wprins) said :
#4

Linux can normally co-exist quite happily in a dual boot configuration on a single hard-drive, however it is aso possible to set up configurations that will cause trouble to Windows, which is what one way or another has happened in your case. These situations are however normally correctable. Even so if you've decided to use 2 hdd's that's fine also.

To (try to) answer your question, if your Windows drive shows up as /dev/hdc under linux, then it will correspond to (hd2) in grub, and the first (and presumably only) partition is therefore /dev/hdc1 which corresponds to hd(2,0) in grub speak. But please, I cannot confirm this unless I have full partition information, so I'd *really* appreciate it if you could still post the output of the following command when entered in a terminal:

  sudo fdisk -lu

You can make the output appear directly in a text editor to make it even easier to copy, by using this command instead:

  sudo fdisk -lu >partitions.txt && gedit partitions.txt

This will create a text file called "partitions.txt" in your home folder, and open it up in the text editor for you.

And even easier, if you don't want to use a terminal at all, then you can also press alt-F2 which should open a "Run application" dialog, and then copy and paste this alternate version of the command in there and run it:

  gksudo fdisk -lu >partitions.txt && gedit partitions.txt

As for what exactly to add to menu.lst, you should theorectically just append the following section to the bottom of your menu.lst (I'm assuming that (hd3,0) is correct for your machine.):

title Microsoft Windows
rootnoverfiy (hd3,0)
savedefault
makeactive
chainloader +1

Finally, just to point out, you could perhaps also try the "Super GRUB" disk to see if it will automatically fix your boot loader setup, available here:
http://supergrub.forjamari.linex.org/#help

Revision history for this message
W. Prins (wprins) said :
#5

My apologies, in the last section, (h3,0) should've read (hd2,0) !! Please correct this as appropriate!!!

Revision history for this message
Joachim Stegmaier (joachim-stegmaier) said :
#6

I have recorded the original output from fdisk -lu (with one HD directly after your first request for the .log file). Here is is (that's the one where Win2K was unable to find its partition):

Disk /dev/sda: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders, total 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xde475876

   Device Boot Start End Blocks Id System
/dev/sda1 * 63 200780369 100390153+ 7 HPFS/NTFS
/dev/sda2 200780370 387696644 93458137+ 83 Linux
/dev/sda3 387696645 390716864 1510110 5 Extended
/dev/sda5 387696708 390716864 1510078+ 82 Linux swap / Solaris

Unfortunately I haven't my actual fdisk -lu output with me (I'm here at work and the Linux machine is at home).

Regarding the naming scheme : As far as I remember my first disk ist /dev/sda (this is linux, with partitions sda1, sda2 and so on). second HDD ist /dev/sdb with W2K partition /dev/sdb1. I've already found a numering scheme in http://www.onedot.nl/tutorials/grub-naming-scheme, and according to this the correct GRUB naming should be (hd1,0).

I'll send you the new fdisk.log latest tomorrow.

So far all my questions are answered. Thanks a lot for your support!

best regards
Joachim Stegmaier