Comment 25 for bug 88213

Revision history for this message
J. Pablo Fernández (pupeno) wrote : Re: Feisty does not mount encrypted partition

I am having a similar problem. I've installed Edgy and made an encrypted home. I've wrote a tutorial about how it is done so you can see exactly what I've did on: http://pupeno.com/2006/12/17/encrypted-home-in-ubuntu-or-kubuntu-or-debian/

I've upgraded to Feisty by replacing "edgy" with "feisty" on sources.list and "aptitude dist-upgrade". After rebooting, my encrypted home wasn't mounted automatically and I can't mount it by hand. I'll try to dump as many relevant information here and wait some hours in case anybody needs more information until I'll rebuild the encrypted FS and restore from backups.

No mapping enabled:

pupeno@black:~$ ls /dev/mapper/
control
pupeno@black:~$

and this is what I have mounted:

pupeno@black:~$ mount
/dev/sda1 on / type reiserfs (rw,notail)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.20-14-generic/volatile type tmpfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
pupeno@black:~$

My first suprise is that my IDE (P)ATA HD is seen as /dev/sda and not /dev/hda. I see that this is because migration to libata, sounds nice. Maybe that's the problem with cryptloop?

Let's see some information about the crypted FS:

pupeno@black:~$ sudo cryptsetup luksDump /dev/sda3
LUKS header information for /dev/sda3

Version: 1
Cipher name: aes
Cipher mode: cbc-essiv:sha256
Hash spec: sha1
Payload offset: 1032
MK bits: 128
MK digest: 76 99 15 04 37 2d bc e1 25 9b 33 0c 08 f4 6a c7 ec 11 7c 59
MK salt: 7c cf f7 0f aa 22 50 eb 05 78 24 79 bc 7b 2b 46
                9e 25 29 fc f1 f7 70 84 1a 4d f8 21 ea dd 44 38
MK iterations: 10
UUID: f9d7e9c3-9176-4d3b-9d20-4abb25e4ffaf

Key Slot 0: ENABLED
        Iterations: 69658
        Salt: c7 ed 53 74 a9 cd d8 da a7 1d 04 d4 06 28 9f 3e
                                fb ae 4e 93 da 09 d7 7e fc 14 1e aa 83 ef 75 18
        Key material offset: 8
        AF stripes: 4000
Key Slot 1: ENABLED
        Iterations: 69773
        Salt: d2 1e 82 0a 41 77 d4 23 8b 88 5c ed ea 14 33 b4
                                fe 2b 20 c5 c3 33 08 29 32 fd 28 46 a9 8a 39 bd
        Key material offset: 136
        AF stripes: 4000
Key Slot 2: ENABLED
        Iterations: 62620
        Salt: c8 5b ad 11 49 0d 03 02 2d ed 4c b3 bd 2e 98 3c
                                bf de a8 c0 fe af 68 f9 b9 1f e0 7c 0a 17 2a 4e
        Key material offset: 264
        AF stripes: 4000
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

So far it looks ok. Let's try opening it:

pupeno@black:~$ sudo cryptsetup luksOpen /dev/sda3 home
Enter LUKS passphrase:
key slot 2 unlocked.
Command successful.
pupeno@black:~$

So far it seems it's working.

pupeno@black:~$ ls /dev/mapper/
control home
pupeno@black:~$

The first time I tried this, aside of control and home, there was also a temporary-cryptsetup-5864 which is now not preset. Ok, let's try to mount it:

pupeno@black:~$ sudo mount /dev/mapper/home /media/
mount: Operation not supported
pupeno@black:~$

First sight of a problem. Being verbose doesn't help:

pupeno@black:~$ sudo mount -v /dev/mapper/home /media/
mount: you didn't specify a filesystem type for /dev/mapper/home
       I will try type reiserfs
mount: Operation not supported
pupeno@black:~$

Indeed the FS is reiserfs. With dmesg I can see this (will include the whole dmesg latter):

[ 927.396000] sda: rw=0, want=78140159, limit=72174581
[ 927.396000] attempt to access beyond end of device
[ 927.396000] sda: rw=0, want=78140160, limit=72174581
[ 927.444000] ReiserFS: dm-0: found reiserfs format "3.6" with standard journal
[ 927.444000] ReiserFS: dm-0: using ordered data mode
[ 927.464000] ReiserFS: dm-0: journal params: device dm-0, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
[ 927.464000] ReiserFS: dm-0: checking transaction log (dm-0)
[ 927.480000] attempt to access beyond end of device
[ 927.480000] sda: rw=0, want=75774517, limit=72174581
[ 927.480000] ReiserFS: dm-0: warning: vs-13070: reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD]
[ 927.480000] ReiserFS: dm-0: Using r5 hash to sort names
[ 927.480000] ReiserFS: dm-0: warning: xattrs/ACLs enabled and couldn't find/create .reiserfs_priv. Failing mount.

That doesn't look nice. Let's try to fsck it:

pupeno@black:~$ sudo fsck.reiserfs /dev/mapper/home
reiserfsck 3.6.19 (2003 www.namesys.com)

*************************************************************
** If you are using the latest reiserfsprogs and it fails **
** please email bug reports to <email address hidden>, **
** providing as much information as possible -- your **
** hardware, kernel, patches, settings, all reiserfsck **
** messages (including version), the reiserfsck logfile, **
** check the syslog file for any related information. **
** If you would like advice on using this program, support **
** is available for $25 at www.namesys.com/support.html. **
*************************************************************

Will read-only check consistency of the filesystem on /dev/mapper/home
Will put log info to 'stdout'

Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes

The problem has occurred looks like a hardware problem. If you have
bad blocks, we advise you to get a new hard drive, because once you
get one bad block that the disk drive internals cannot hide from
your sight,the chances of getting more are generally said to become
much higher (precise statistics are unknown to us), and this disk
drive is probably not expensive enough for you to you to risk your
time and data on it. If you don't want to follow that follow that
advice then if you have just a few bad blocks, try writing to the
bad blocks and see if the drive remaps the bad blocks (that means
it takes a block it has in reserve and allocates it for use for
of that block number). If it cannot remap the block, use badblock
option (-B) with reiserfs utils to handle this block correctly.

bread: Cannot read the block (7668895): (Input/output error).

Aborted (core dumped)
pupeno@black:~$

It doesn't look nice at all. And I see more messages like:

[ 1016.764000] sda: rw=0, want=78140120, limit=72174581
[ 1016.764000] attempt to access beyond end of device
[ 1016.764000] sda: rw=0, want=78140121, limit=72174581
[ 1016.764000] attempt to access beyond end of device
[ 1016.764000] sda: rw=0, want=78140122, limit=72174581
[ 1016.764000] attempt to access beyond end of device
[ 1016.764000] sda: rw=0, want=78140123, limit=72174581
[ 1016.764000] attempt to access beyond end of device
[ 1016.764000] sda: rw=0, want=78140124, limit=72174581
[ 1016.764000] attempt to access beyond end of device
[ 1016.764000] sda: rw=0, want=78140125, limit=72174581

on dmesg.

If there's any other ideas to gather more information, let me know.