In order to convert my machine from a 100% Linux box running software RAID (RAID-1 on a total of two physical disks) to dual-boot Windows 2000 and Linux, with an added CD-RW drive, I had to: 1. Move connector IDE0 (primary master drive) to connector IDE4 on my Gigabyte GA-8IHXP2 board (has 2 extra IDE connectors that were converted from Promise RAID to ATA functionality) 2. Add a new drive to connector IDE0 3. Leave the Asus DVD-ROM drive on connector IDE1 alone, set up as master 4. Add the CD-RW to the secondary (slave) connector on IDE1 5. Leave the second Linux disk, which is device /dev/hde1, alone on connector IDE3. So the drive device list is: /dev/hda (Grub's hd0) -- boot drive, has Grub installed on master boot record /dev/hde (Grub's hd1) -- mirror drive /dev/hdg (Grub's hd2) -- what used to be the Linux boot drive, /dev/hda I then went into Rescue mode and made a mistake: I didn't check carefully to see what disk rescue mode was mounting. I assumed (stupidly, I guess) that it was mounting /dev/hdg. I was wrong, it mounted /dev/hde. Then I went right ahead and edited /etc/raidtab and /etc/fstab to reflect the new devices. I think I created a mess from all this; I made hde "dirty" but don't know exactly what it means. Here is the relevent portions of dmesg: md: raid1 personality registered as nr 3 Journalled Block Device driver loaded md: Autodetecting RAID arrays. [events: 000001e8] [events: 00000205] [events: 000001e8] [events: 00000207] md: autorun ... md: considering hde1 ... md: adding hde1 ... md: adding hdg1 ... md: created md0 md: bind<hdg1,1> md: bind<hde1,2> md: running: <hde1><hdg1> md: hde1's event counter: 00000207 md: hdg1's event counter: 000001e8 md: superblock update time inconsistency -- using the most recent one md: freshest: hde1 md: kicking non-fresh hdg1 from array! md: unbind<hdg1,1> md: export_rdev(hdg1) md: RAID level 1 does not need chunksize! Continuing anyway. md0: max total readahead window set to 124k md0: 1 data-disks, max readahead per data-disk: 124k raid1: device hde1 operational as mirror 1 raid1: md0, not all disks are operational -- trying to recover array raid1: raid set md0 active with 1 out of 2 mirrors md: updating md0 RAID superblock on device md: hde1 [events: 00000208]<6>(write) hde1's sb offset: 409536 md: recovery thread got woken up ... md0: no spare disk to reconstruct array! -- continuing in degraded mode md: recovery thread finished ... md: considering hde2 ... md: adding hde2 ... md: adding hdg2 ... md: created md1 md: bind<hdg2,1> md: bind<hde2,2> md: running: <hde2><hdg2> md: hde2's event counter: 00000205 md: hdg2's event counter: 000001e8 md: superblock update time inconsistency -- using the most recent one md: freshest: hde2 md: kicking non-fresh hdg2 from array! md: unbind<hdg2,1> md: export_rdev(hdg2) md: RAID level 1 does not need chunksize! Continuing anyway. md1: max total readahead window set to 124k md1: 1 data-disks, max readahead per data-disk: 124k raid1: device hde2 operational as mirror 1 raid1: md1, not all disks are operational -- trying to recover array raid1: raid set md1 active with 1 out of 2 mirrors md: updating md1 RAID superblock on device md: hde2 [events: 00000206]<6>(write) hde2's sb offset: 115756288 md: recovery thread got woken up ... md1: no spare disk to reconstruct array! -- continuing in degraded mode md0: no spare disk to reconstruct array! -- continuing in degraded mode md: recovery thread finished ... md: ... autorun DONE. md: Autodetecting RAID arrays. [events: 000001e8] [events: 000001e8] md: autorun ... md: considering hdg2 ... md: adding hdg2 ... md: md1 already running, cannot run hdg2 md: export_rdev(hdg2) md: (hdg2 was pending) md: considering hdg1 ... md: adding hdg1 ... md: md0 already running, cannot run hdg1 md: export_rdev(hdg1) md: (hdg1 was pending) md: ... autorun DONE. How do I fix this problem? Thanks, Bob Cochran
Attachment:
signature.asc
Description: This is a digitally signed message part