[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Cannot remove Journal Pointer

On Mon, Oct 28, 2002 at 02:11:35PM -0700, Andreas Dilger wrote:
> On Oct 28, 2002  14:00 -0500, Steve McGrane wrote:
> > Any news on how to remove a reference to a non-existent .journal file?
> Running "e2fsck -f /dev/hda7" should remove the bad journal from the
> superblock.

Steve, what version of e2fsprogs are you using?  If it's earlier than
1.27, definitely upgrade to at least e2fsprogs 1.27 (the most recent
version of e2fsprogs is 1.29).  

Earlier versions might not automatically remove a corrupted journal.  

> > "mount" would show the FS as read-only, and fsck would fix tons of errors.
> > fsck replaced the inode that the .journal file was  in and this created tons
> > of errors:
> > 
> > Oct 21 15:36:47 starline kernel: end_request: I/O error, dev 03:07 (hda),
> > sector 12480
> > Oct 21 15:36:47 starline kernel: journal_bmap: journal block not found at
> > offset 1036 on ide0(3,7)
> > Oct 21 15:36:47 starline kernel: Aborting journal on device ide0(3,7).
> > Oct 21 15:36:47 starline kernel: ext3_abort called.
> > Oct 21 15:36:47 starline kernel: EXT3-fs abort (device ide0(3,7)):
> > ext3_journal_start: Detected aborted journal

Note though that with I/O errors detected above, you *are* going to be
in a world of hurt.  You can try using e2fsck -c to try to map out the
bad blocks, but generally I recommend that people do a disk-to-disk
copy of their data *first*, both to forestall any further data lost
caused by on-going deterioration of the your hard drive, and as a
backup in case e2fsck makes things worse instead of better.  (Rare,
but it can happen.)

If I'm really paranoid, or the data is especially precious, I would
recommend first making a copy on to a known good disk without any I/O
errors, and then making a second copy of the disk and experimenting
with recovering the data on that disk.  That way, if you screw up on
the second copy of the disk, you can always go back to the first copy,
and make another image copy, and try some other tack.  

The way to make disk copies is:

	dd if=/dev/hd_source_disk of=/dev/hd_dest_dist bs=1k conv=sync,noerror

This will allow dd to make a copy of the disk image without stopping
when the disk reports an I/O error.

						- Ted

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]