Re: Transfering my system to a new disk (was: Root partition stuck in read-only mode.)
On Sat, Feb 01, 2003 at 01:29:53AM -0500, Lloyd Zusman wrote:
> Quoting Nathan E Norman <email@example.com>:
> > On Fri, Jan 31, 2003 at 11:59:28PM -0500, Lloyd Zusman wrote:
> > >
> > > [ ... ]
> > >
> > > So ... now that things are sort of back to normal, my question
> > > is this: what caused the filesystem to become read-only to
> > > begin with? Could it be hardware errors? The fact that the
> > > fsck found no errors seems to point to this as a possible cause,
> > > correct?
> > No, hardware errors would cause fs corruption I think. Probably the
> > fact that the options field was blank caused the problem. In the
> > future, make sure that field says "defaults" if you have nothing else
> > to put in there :-)
> Well, it does say "defaults" now, and I rebooted with it set that
> way. But a few minutes ago I started getting disk error after disk
> error. So I think that I do indeed have some hardware problems,
> after all [sigh].
How old is the drive? Any chance the issue is termination or a
misconfigured jumper? You're using an Adaptec 2940?
> So now, I have a completely new question:
> I belive that the error is on my first drive, the /dev/sda drive
> on SCSI channel 0. My second drive (/dev/sdb, SCSI channel 1)
> seems fine. Assuming I can boot up and run reliably for a while,
> I want to copy everything from /dev/sda to the top level of
> /dev/sdb. Then, I'd like to reset my system to boot off of
> the second drive (which has plenty of empty space).
> I think I should do something like this (but I'm not sure if this
> is correct):
> 1. My /dev/sdb only has one partition, and I have mounted it as
> /opt. So what I'll do is create an /opt subdirectory on that
> drive and move everything from /dev/sdb1 there.
> 2. I should use tar to copy all the filesystems under root,
> except for /opt, over to the /dev/sdb1 partition. This should
> copy links and permissions correctly. [Is that true?]
Use tar if you like, but I personally would use find and cpio to do
this. The command is "find / -xdev | cpio -padm /mnt". The "-xdev" only
finds files on the root partition, the one you are backing up. Running
the commands as root ensures that you preserve permissions and
ownership. Replace "/mnt" with "/opt" if you've left /dev/sdb1
> 3. I should change /etc/fstab on the second partition to only
> have one huge partition (i.e., get rid of the /usr, /home,
> and other mount points).
OIC ... all partitions are on /dev/sda except for /opt? Hmm, that
complicates things a bit. In that case my command above would change
to "find / -fstype ext2 | grep -v '^/opt/' | cpio -padm /opt". Here I
assume you've left /dev/sdb1 mounted on /opt. I also changed find so
it recurses into all filesystems that are ext2 (replace wiuth ext3 if
that's what you're using) ... I do this so we don't recurse into
/proc. If you have some eclectic mix of filesystems you could do away
with the "-fstype" option to find and replace the grep with a more
find / -fstype ext2 | grep -vE '^/(opt|proc)/' | cpio -padm /opt
Note in either case the trailing '/' in the regex; this copies the
mount point but nothing in the mount point.
> 4. ???????? I need to create a proper boot sector on the
> /dev/sdb1 partition. How do I do that?
> 5. ???????? I configure my system to boot off of /dev/sdb1
> instead of off the faulty drive.
> Does this sound reasonable? If not, can anyone suggest what I'm
> missing? And I'd be grateful if someone could explain how to do
> steps 4 and 5.
> Thanks again for the earlier help, and thanks in advance for any
> help you might be able to offer for this new system-copy task.
This may prove difficult. Why not just remove /dev/sda once you've
copied stuff over? Then, if you run LILO boot wiuth a rescue floppy
and/or CD, type "linux root=/dev/sda1" at the prompt, and rerun lilo
once you're up.
If you use GRUB, it would be a good idea to make a grub boot floppy;
then you can boot to any kernel on any drive in the system! Google
for this or ask me; I'll look around for my link.
If you don't remove /dev/sda, you're going to have to depend on it to
provide a master boot record to boot the rest of the system. Since
you don't trust that drive this seems unwise.
Above all, _plan_ and make sure you are _comfortable_ wiuth what you
are about to do. If you have a tape backup, use it. If you have a cd
writer, burn a bunch of CDs with your data.
Nathan Norman - Incanus Networking mailto:firstname.lastname@example.org
prepBut nI vrbLike adjHungarian! qWhat's artThe adjBig nProblem?
-- alec flett @netscape