Thread: [Jfs-discussion] Lost Partition -> Recovery problem !
Brought to you by:
blaschke-oss,
shaggyk
From: Gilles M. <gil...@ep...> - 2004-11-20 22:50:53
|
Hi everybody, I've some problems with a JFS Partition. Yesterday I have bought a new HDD (250 Go). After the installation, I've created one partition, and then I have formatted it with JFS. Sadly, I've made a mistake : I've typed `mkfs.jfs /dev/hdd`. Then I launch fdisk again, the partition were still here, so I think there was no problem and formatted my hdd with the right commande (`mkfs.jfs /dev/hdd1`). Everything goes fine, I moved my data on this new drive. But after the restart, the partition has disapeared. I've tried rescue mode with fdisk, but nothing. Then, I try parted, and he says me : (parted) print Disk geometry for /dev/hdd: 0.000-238475.179 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags (parted) rescue Start? 0.000 End? 238475.179 Information: A jfs primary partition was found at 0.000Mb -> 238433.211Mb. Do you want to add it to the partition table? Yes/No/Cancel? N Information: A jfs primary partition was found at 0.028Mb -> 238433.238Mb. Do you want to add it to the partition table? Yes/No/Cancel? N (parted) But nor the first, nor the seconde gave results... When I try to create them, and then run fsck.jfs, he complains : $ fsck.jfs /dev/hdd1 fsck.jfs version 1.1.6, 28-Apr-2004 processing started: 11/20/2004 14.47.52 Using default parameter: -p The current device is: /dev/hdd1 Superblock is corrupt and cannot be repaired since both primary and secondary copies are corrupt. CANNOT CONTINUE. I'm new to JFS and don't know what to try anymore, so if someone can help me, many thanks :) PS : sorry for my poor english... |
From: Dave K. <sh...@au...> - 2004-11-20 23:14:01
|
On Sat, 2004-11-20 at 20:40 +0100, Gilles Meier wrote: > Hi everybody, > > I've some problems with a JFS Partition. > Yesterday I have bought a new HDD (250 Go). > After the installation, I've created one partition, and then I have > formatted it with JFS. > Sadly, I've made a mistake : I've typed `mkfs.jfs /dev/hdd`. > Then I launch fdisk again, the partition were still here, so I think > there was no problem and formatted my hdd with the right commande > (`mkfs.jfs /dev/hdd1`). Everything goes fine, I moved my data on this > new drive. > But after the restart, the partition has disapeared. You can mess up the partition table on disk, and the kernel won't be aware of the changes until the system is rebooted. > I've tried rescue mode with fdisk, but nothing. > Then, I try parted, and he says me : > > (parted) print > Disk geometry for /dev/hdd: 0.000-238475.179 megabytes > Disk label type: msdos > Minor Start End Type Filesystem Flags > (parted) rescue > Start? 0.000 > End? 238475.179 > Information: A jfs primary partition was found at 0.000Mb -> > 238433.211Mb. Do you want to add it to the partition table? > Yes/No/Cancel? N > Information: A jfs primary partition was found at 0.028Mb -> > 238433.238Mb. Do you want to add it to the partition table? > Yes/No/Cancel? N > (parted) > > But nor the first, nor the seconde gave results... > When I try to create them, and then run fsck.jfs, he complains : > > $ fsck.jfs /dev/hdd1 > fsck.jfs version 1.1.6, 28-Apr-2004 > processing started: 11/20/2004 14.47.52 > Using default parameter: -p > The current device is: /dev/hdd1 > Superblock is corrupt and cannot be repaired > since both primary and secondary copies are corrupt. > > CANNOT CONTINUE. > > I'm new to JFS and don't know what to try anymore, so if someone can > help me, many thanks :) As this is a new disk, it sounds like you don't have any data that needs to be preserved on this disk. I think you would do best by using fdisk or parted to completely remove any existing partitions and start over, rather than trying to preserve what is there. Reboot after creating any new partitions before trying to use them. > PS : sorry for my poor english... I understood you perfectly. :^) Good luck, Shaggy -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Gilles M. <gil...@ep...> - 2004-11-20 23:24:50
|
Sadly, I've putted all my datas on this new hdd just after formatting it :( So, it's very important for me to rescue them... Next time I'll always reboot and test the new partition before putting someting on it ;) |
From: Dave K. <sh...@au...> - 2004-11-20 23:36:22
|
On Sat, 2004-11-20 at 21:24 +0100, Gilles Meier wrote: > Sadly, I've putted all my datas on this new hdd just after formatting it > :( So, it's very important for me to rescue them... > > Next time I'll always reboot and test the new partition before putting > someting on it ;) If there is still anything to recover, you should reboot between recovering the partitions with fdisk/parted and trying to use the partitions. It sounds like it might be too late so save anything, though. -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Gilles M. <gil...@ep...> - 2004-11-21 00:02:46
|
Nothing to do, always the same error :( Isn't there some method to "repair" the superblocks with jfs_debug or some other utility ? If I've all understood, the only thing who was messed up is the partition table, so datas are always on the hdd... I don't have any idea on how information are organised in partition table, but can't I discover data location with the journal or something else ? Tanks a lot for your help, it's good to talk with kind people :) Dave Kleikamp wrote: > On Sat, 2004-11-20 at 21:24 +0100, Gilles Meier wrote: > >>Sadly, I've putted all my datas on this new hdd just after formatting it >>:( So, it's very important for me to rescue them... >> >>Next time I'll always reboot and test the new partition before putting >>someting on it ;) > > > If there is still anything to recover, you should reboot between > recovering the partitions with fdisk/parted and trying to use the > partitions. It sounds like it might be too late so save anything, > though. |
From: Dave K. <sh...@au...> - 2004-11-21 00:32:41
|
On Sat, 2004-11-20 at 22:02 +0100, Gilles Meier wrote: > Nothing to do, always the same error :( > > Isn't there some method to "repair" the superblocks with jfs_debug or > some other utility ? I would guess that if the partition table could be fixed, there shouldn't be a need to repair the superblocks. I'm not sure that they are being read from the right location. I would hope that nothing overwrote both superblocks. If something had, the file system may be beyond recovery. > > If I've all understood, the only thing who was messed up is the > partition table, so datas are always on the hdd... I don't have any idea > on how information are organised in partition table, but can't I > discover data location with the journal or something else ? > (parted) rescue > Start? 0.000 > End? 238475.179 > Information: A jfs primary partition was found at 0.000Mb -> > 238433.211Mb. Do you want to add it to the partition table? > Yes/No/Cancel? N My guess is that this is a remnant of running mkfs.jfs against /dev/hdd. I would ingore this one. > Information: A jfs primary partition was found at 0.028Mb -> > 238433.238Mb. Do you want to add it to the partition table? > Yes/No/Cancel? N This is probably the correct location. Did you try to rescue the disk using this partition, and then reboot? If you did, and still get the error from fsck, run jfs_debugfs /dev/hdd1, then the subcommands "sup" and "sup s". > Tanks a lot for your help, it's good to talk with kind people :) I try to help out when I can. I'm not sure if my help is going to do you any good though, but we can try. -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Dave K. <sh...@au...> - 2004-11-21 05:38:11
|
On Sat, 2004-11-20 at 15:32 -0600, Dave Kleikamp wrote: > On Sat, 2004-11-20 at 22:02 +0100, Gilles Meier wrote: > > Nothing to do, always the same error :( > > > > Isn't there some method to "repair" the superblocks with jfs_debug or > > some other utility ? > > I would guess that if the partition table could be fixed, there > shouldn't be a need to repair the superblocks. I'm not sure that they > are being read from the right location. I would hope that nothing > overwrote both superblocks. If something had, the file system may be > beyond recovery. > > > > If I've all understood, the only thing who was messed up is the > > partition table, so datas are always on the hdd... I don't have any idea > > on how information are organised in partition table, but can't I > > discover data location with the journal or something else ? > > > (parted) rescue > > Start? 0.000 > > End? 238475.179 > > Information: A jfs primary partition was found at 0.000Mb -> > > 238433.211Mb. Do you want to add it to the partition table? > > Yes/No/Cancel? N > > My guess is that this is a remnant of running mkfs.jfs against /dev/hdd. > I would ingore this one. After some more thought, and with the results of jfs_debugfs (and Michaels comments), I'm thinking that this is the right partition to use. Some calculations confirm that the secondary superblock is stored .028 Mb from the primary, so the second partition reported by parted is based on interpreting the secondary superblock as the primary. I was assuming that the partition table of a partitioned disk is stored at 0.000Mb, but to be honest, I really don't know where the partition table is stored. Again, based on what I saw in the superblock, the partition needs to be a bit larger than parted is reporting for the superblock be valid. > > Information: A jfs primary partition was found at 0.028Mb -> > > 238433.238Mb. Do you want to add it to the partition table? > > Yes/No/Cancel? N > > This is probably the correct location. Did you try to rescue the disk > using this partition, and then reboot? If you did, and still get the > error from fsck, run jfs_debugfs /dev/hdd1, then the subcommands "sup" > and "sup s". -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Gilles M. <gil...@ep...> - 2004-11-21 13:58:02
|
Tkanks both of you... With using the first proposal from parted, both superblocks seem to be sane (identical to the first superblock from the other propasal)... But there's always this FS size problem. Parted refuse to modify the size of a JFS filesystem :( May jfs_fsck say that superblocks are corrupted "only" if the size of the FS don't match with the size of partition ? Or is there another problem ? If I've fine understood, shrinking a JFS filesystem size is impossible, so the only way is to grow the partition size from 238433.21Mb to 238472.688 Mb. Parted says me that opening a JFS partition isn't yet implemented, so does someone know how to perform this operation ? Raw writing in the table ? |
From: Dave K. <sh...@au...> - 2004-11-21 18:29:30
|
On Sun, 2004-11-21 at 11:57 +0100, Gilles Meier wrote: > Tkanks both of you... > > With using the first proposal from parted, both superblocks seem to be > sane (identical to the first superblock from the other propasal)... > But there's always this FS size problem. > > Parted refuse to modify the size of a JFS filesystem :( > > May jfs_fsck say that superblocks are corrupted "only" if the size of > the FS don't match with the size of partition ? Yes, it would do this. Running with the -v flag (verbose) should give you a better error message. It should probably do this without the -v flag. I'll add that to my to-do list. > Or is there another problem ? I hope not. > If I've fine understood, shrinking a JFS filesystem size is impossible, > so the only way is to grow the partition size from 238433.21Mb to > 238472.688 Mb. Parted says me that opening a JFS partition isn't yet > implemented, so does someone know how to perform this operation ? Raw > writing in the table ? You need to delete the the partition, then create a new partition filling the whole disk (rebooting afterward), and you should be okay. -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Gilles M. <gil...@ep...> - 2004-11-22 00:57:15
|
I always have a problem... If I recuper the partition with parted, the partition go from 0.000 to 238433.211, which gives me the sane superblock. When I create a new partition, taking the whole disk, it go from 0.031 to 238472.688 and have corrupted superblocks :'( I think I'll format my disk again tomorrow... |
From: Dave K. <sh...@au...> - 2004-11-22 01:35:08
|
On Sun, 2004-11-21 at 22:57 +0100, Gilles Meier wrote: > I always have a problem... > > If I recuper the partition with parted, the partition go from > 0.000 to 238433.211, which gives me the sane superblock. > When I create a new partition, taking the whole disk, it go from > 0.031 to 238472.688 and have corrupted superblocks :'( > > I think I'll format my disk again tomorrow... Will fdisk let you create a partition beginning at 0.000? What did you use originally to create the partition? Just to exhaust every possibility, have you tried to mount /dev/hdd? -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Gilles M. <gil...@ep...> - 2004-11-22 02:33:59
|
fdisk don't let me create such a partition... I originaly use fdisk, but maybee these are the superblocks resulting of my first formatting (the wrong one) when I think about it... Yes I've tried... Don't bother you anymore, I'll format the hdd ^^. Thanks for help :) Next time I'll be more carefull ! Dave Kleikamp wrote: > On Sun, 2004-11-21 at 22:57 +0100, Gilles Meier wrote: > >>I always have a problem... >> >>If I recuper the partition with parted, the partition go from >>0.000 to 238433.211, which gives me the sane superblock. >>When I create a new partition, taking the whole disk, it go from >>0.031 to 238472.688 and have corrupted superblocks :'( >> >>I think I'll format my disk again tomorrow... > > > Will fdisk let you create a partition beginning at 0.000? What did you > use originally to create the partition? > > Just to exhaust every possibility, have you tried to mount /dev/hdd? |
From: Gilles M. <gil...@ep...> - 2004-11-21 00:47:20
|
I still got the same errors, here are the output from jfs_debug : sup : > sup > sup [1] s_magic: 'JFS1' [15] s_ait2.addr1: 0x00 [2] s_version: 1 [16] s_ait2.addr2: 0x00001d3a [3] s_size: 0x000000001d1b09b0 s_ait2.address: 7482 [4] s_bsize: 4096 [17] s_logdev: 0x00000000 [5] s_l2bsize: 12 [18] s_logserial: 0x00000000 [6] s_l2bfactor: 3 [19] s_logpxd.len: 8192 [7] s_pbsize: 512 [20] s_logpxd.addr1: 0x00 [8] s_l2pbsize: 9 [21] s_logpxd.addr2: 0x03a368b0 [9] pad: Not Displayed s_logpxd.address: 61040816 [10] s_agsize: 0x00080000 [22] s_fsckpxd.len: 1914 [11] s_flag: 0x10200900 [23] s_fsckpxd.addr1: 0x00 JFS_LINUX [24] s_fsckpxd.addr2: 0x03a36136 JFS_COMMITJFS_GROUPCOMMIT s_fsckpxd.address: 61038902 JFS_INLINELOG [25] s_time.tv_sec: 0x419cc59c [26] s_time.tv_nsec: 0x00000000 [27] s_fpack: '' [12] s_state: 0x00000000 FM_CLEAN [13] s_compress: 0 [14] s_ait2.len: 4 > sup s [1] s_magic: ' ' [15] s_ait2.addr1: 0xff [2] s_version: 0 [16] s_ait2.addr2: 0xffffffff [3] s_size: 0x0000000000004000 s_ait2.address: 1099511627775 [4] s_bsize: 256 [17] s_logdev: 0xffffffff [5] s_l2bsize: 8 [18] s_logserial: 0xffffffff [6] s_l2bfactor: 0 [19] s_logpxd.len: 16777215 [7] s_pbsize: 85 [20] s_logpxd.addr1: 0xff [8] s_l2pbsize: 4 [21] s_logpxd.addr2: 0xffffffff [9] pad: Not Displayed s_logpxd.address:1099511627775 [10] s_agsize: 0xffffff05 [22] s_fsckpxd.len: 16777215 [11] s_flag: 0xffffffff [23] s_fsckpxd.addr1: 0xff JFS_OS2 JFS_LINUX [24] s_fsckpxd.addr2: 0xffffffff JFS_COMMIT JFS_GROUPCOMMIT s_fsckpxd.address:1099511627775 JFS_LAZYCOMMIT JFS_INLINELOG[25] s_time.tv_sec: 0xffffffff JFS_BAD_SAIT JFS_SPARSE [26] s_time.tv_nsec: 0xffffffff DASD_ENABLED DASD_PRIME [27] s_fpack: '�����������' [12] s_state: 0xffffffff Unknown State [13] s_compress: -1 [14] s_ait2.len: 16777215 |
From: Dave K. <sh...@au...> - 2004-11-21 03:21:24
|
On Sat, 2004-11-20 at 22:47 +0100, Gilles Meier wrote: > I still got the same errors, here are the output from jfs_debug : > > sup : > > > sup > > sup > [1] s_magic: 'JFS1' [15] s_ait2.addr1: 0x00 > [2] s_version: 1 [16] s_ait2.addr2: 0x00001d3a > [3] s_size: 0x000000001d1b09b0 s_ait2.address: 7482 > [4] s_bsize: 4096 [17] s_logdev: 0x00000000 > [5] s_l2bsize: 12 [18] s_logserial: 0x00000000 > [6] s_l2bfactor: 3 [19] s_logpxd.len: 8192 > [7] s_pbsize: 512 [20] s_logpxd.addr1: 0x00 > [8] s_l2pbsize: 9 [21] s_logpxd.addr2: 0x03a368b0 > [9] pad: Not Displayed s_logpxd.address: 61040816 > [10] s_agsize: 0x00080000 [22] s_fsckpxd.len: 1914 > [11] s_flag: 0x10200900 [23] s_fsckpxd.addr1: 0x00 > JFS_LINUX [24] s_fsckpxd.addr2: 0x03a36136 > JFS_COMMITJFS_GROUPCOMMIT s_fsckpxd.address: 61038902 > JFS_INLINELOG [25] s_time.tv_sec: 0x419cc59c > [26] s_time.tv_nsec: 0x00000000 > [27] s_fpack: '' > [12] s_state: 0x00000000 > FM_CLEAN > [13] s_compress: 0 > [14] s_ait2.len: 4 This looks sane, but the size of the partition needed would be 238472.6875 MB. ((Address of logpxd * length of logpxd) * 4K) The output from parted indicates that the size of the partition would be 238433.21 MB. There isn't an easy way to shrink the file system by 40 MB, but you may be able to extend the partition using parted. > > sup s > [1] s_magic: ' ' [15] s_ait2.addr1: 0xff > [2] s_version: 0 [16] s_ait2.addr2: 0xffffffff > [3] s_size: 0x0000000000004000 s_ait2.address: 1099511627775 > [4] s_bsize: 256 [17] s_logdev: 0xffffffff > [5] s_l2bsize: 8 [18] s_logserial: 0xffffffff > [6] s_l2bfactor: 0 [19] s_logpxd.len: 16777215 > [7] s_pbsize: 85 [20] s_logpxd.addr1: 0xff > [8] s_l2pbsize: 4 [21] s_logpxd.addr2: 0xffffffff > [9] pad: Not Displayed s_logpxd.address:1099511627775 > [10] s_agsize: 0xffffff05 [22] s_fsckpxd.len: 16777215 > [11] s_flag: 0xffffffff [23] s_fsckpxd.addr1: 0xff > JFS_OS2 JFS_LINUX [24] s_fsckpxd.addr2: 0xffffffff > JFS_COMMIT JFS_GROUPCOMMIT s_fsckpxd.address:1099511627775 > JFS_LAZYCOMMIT JFS_INLINELOG[25] s_time.tv_sec: 0xffffffff > JFS_BAD_SAIT JFS_SPARSE [26] s_time.tv_nsec: 0xffffffff > DASD_ENABLED DASD_PRIME [27] s_fpack: '�����������' > [12] s_state: 0xffffffff > Unknown State > [13] s_compress: -1 > [14] s_ait2.len: 16777215 This does look bad, which can mean that the file system is further damaged. But if the primary superblock is good, the secondary isn't looked at. -- Dave Kleikamp IBM Linux Technology Center sh...@au... |
From: Michael <mue...@ni...> - 2004-11-21 03:48:02
|
Hi Gilles! On Sat, Nov 20, 2004 at 08:40:26PM +0100, Gilles Meier <gil...@ep...> wrote: > Hi everybody, > > I've some problems with a JFS Partition. > Yesterday I have bought a new HDD (250 Go). > After the installation, I've created one partition, and then I have > formatted it with JFS. > Sadly, I've made a mistake : I've typed `mkfs.jfs /dev/hdd`. mkfs.jfs /dev/hdd is not really a mistake. I'm using one HD without partitioning. Without using a partition table the JFS 'partition' is now 32kB (or something like that) bigger! ;-) > Then I launch fdisk again, the partition were still here, so I think > there was no problem and formatted my hdd with the right commande > (`mkfs.jfs /dev/hdd1`). Everything goes fine, I moved my data on this > new drive. > But after the restart, the partition has disapeared. > > I've tried rescue mode with fdisk, but nothing. > Then, I try parted, and he says me : > > (parted) print > Disk geometry for /dev/hdd: 0.000-238475.179 megabytes > Disk label type: msdos > Minor Start End Type Filesystem Flags > (parted) rescue > Start? 0.000 > End? 238475.179 > Information: A jfs primary partition was found at 0.000Mb -> > 238433.211Mb. Do you want to add it to the partition table? > Yes/No/Cancel? N > Information: A jfs primary partition was found at 0.028Mb -> > 238433.238Mb. Do you want to add it to the partition table? > Yes/No/Cancel? N > (parted) > > But nor the first, nor the seconde gave results... > When I try to create them, and then run fsck.jfs, he complains : I would guess that mkfs.jfs /dev/hdd killed the partition table. What is the output of fdisk -l /dev/hdd? Did you try to fdisk the HD again. Using fdisk doesn't kill any data on a partition (If mkfs.jfs /dev/hdd1 after the mkfs.jfs /dev/hdd created the FS exactly the same way it would do normally. But fdisk showed you the partition after your mistake. So we can assume that mkfs.jfs used the same partition information.) To give you an example that partitioning doesn't kill data on a partition I describe what I did some weeks ago: I had a 120GB HD with two 60GB partitions. I wanted to create one big 120GB partition. I removed all the data from the second one. In fdisk I killed both partitions and created a new one using the complete disk space. When I mounted the first partition I had access to the data of the former first partition. mount told me that it is a 60GB partition. So I used the JFS remount option 'resize' to let JFS use the whole HD. And everything is working fine. And if you want to be sure that you don't destroy something during the tests buy another 250 GB HD and copy the complete HD using dd if=/dev/hdd of=/dev/hdc hdc is the new HD. Regards Michael |