MandrivaThis Forum is for the discussion of Mandriva (Mandrake) Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
In this thread I was trying to turn my single Linux drive into a setup where the Linux drive was now slave to the Windows drive, and the Linux drive would boot when the boot floppy was inserted.
In that thread, I got a lot of great help, and I was able to successfully copy grub onto a floppy, and grub starts from floppy.
The problem is with the device settings. As you can see at the tail end of that thread, I am supposed to edit the menu.lst on the floppy and the /etc/fstab on the hard drive to refer to hdb instead of hda since the drive is now slave. Well, I didn't do something right on the floppy (menu.lst) because it wouldn't boot. (if you see in the linked thread, I had questions about what to do with the (hd0,0) references) Fine. So I thought I would just boot the old way & then figure things out. But of course now, the /etc/fstab points to a slave drive, so it gave me this:
***An error occurred during the fsck
***Dropping you to a shell; the system will reboot
***When you leave the shell
(Repair filesystem) 1#"
I logged in as root & tried to edit the /etc/fstab back the way it was (or copy the fstab.old file which I had created before editing the fstab file in the first place). But it wouldn't let me copy or edit! It kept complaining that the repair filesystem is read only. All I had done was change three instances of /dev/hda# to /dev/hdb#, so it would have been an easy change.
Thanks - I'll try that. Are you referring to editing the boot command within Grub by hitting "E" ? It sounds like your solution is for allowing the drive to boot up from floppy with the hard drive as slave. Because last night when I realized I did something wrong I tried to go back to the old way just so I could get into Linus - that is, I plugged the drive as master and tried to boot directly off the hard drive. I'm sure if I could somehow change /etc/fstab to show hda again it would work.
And you bring up a good point that I had in my linked thread: are hd0 and hd1 the same as hda and hdb, respectively? Because that's a big confusion I had going from the single drive mode to the boot-only-from-floppy mode. In /floppy/grub/menu.lst and /etc/fstab, do I change all the references to hda into hdb AND all references to hd0 into hd1 ?
Thanks for clearing up the hard drive definitions!
Okay, I tried out what you suggested. At this point, what I'm trying to do is simply go back to the way it was - that is with the Linux drive as standalone. Since the only change I did to that config to make it hose up was to declare three partitions within /etc/fstab from hda to hdb, I figured I just want to change that back.
So, I plugged the Linux drive as standalone (master). I then got into grub and typed in:
as you suggested. The change took place - I was able to verify that these settings were in the default line. But when I tried to boot, it gave me the same thing - somehow it's still complaining about the file system not existing on /dev/hdb1. I have a feeling I'm missing something simple - can you suggest further?
I also tried to use (hd0,#)/vmlinuz in case /boot was a separate partition. But I kept getting error messages. When I just typed in kernel (hd0, <TAB> it listed 3 partitions: 0, 4, and 5. But none of these would accept. Only kernel (hd0,0)/boot/vmlinuz was accepted.
After typing in kernel (hd0,0)/boot/vmlinuz rw root=/dev/hda1 init=/bin/sh I didn't use the "boot" command - I will try that.
Instead I just hit <ESC> which put me back to the boot loader screen. When that didn't work the first time, I hit "E" to edit the line. And I noticed it had properly changed the kernel definition to (hd0,0) and root to /dev/hda1. So I wonder why when it tried to boot it was looking in /dev/hdb1 ? Maybe it's because I didn't actually execute "boot" at the grub> prompt?
Or do you think that by not explicitly stating root (hd0,0) it still somehow is looking in (hd1,0) even when I had specified root=/dev/hda1 ?
I will try your suggestion when I get home this evening & post back.
By using the grub prompt you enter the info on one line. If it's accepted you will be returned to the grub prompt.
Then you enter the boot command
The system will start to boot up with the kernel, root filesystem, and init you specified at the prompt. No other grub settings from the menu will be used.
Last edited by DavidPhillips; 06-30-2004 at 12:05 PM.
That's true. But being that Windows XP is still my & my family's main build, I'm hesitant to play with the MBR of that until I'm more experienced in Linux.
Toward that end, I thought the floppy option would be perfect. Windows drive would be primary master; Linux would be primary slave. Then the machine would always boot into Windows, so as long as the Linux boot floppy is not in, then no one is the wiser: Any of my family who turns on the machine will simply boot into Windows XP like usual.
Then when I want to boot into Linux, I can just power down & fire up with the boot floppy which should override and jump me into the primary slave Linux drive.
As I said, here I didn't do my definitions correctly. From what I understood my other thread that I referenced, I simply need to change the menu.lst in /floppy/boot/grub to reference hd1 instead of hd0 and the /etc/fstab on my hard drive to reference /hdb instead of /hda. I need to try that again now that you've helped me get out of the mess I had created the first time!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.