Comment 40 for bug 1090829

Revision history for this message
Ubfan (ubfan1) wrote :

I see lots of Input/Output errors when accessing the EFI/ubuntu directory, and see a (bogus?) read only filesystem message in dmesg:
dmesg lines (probably caused by the ls command):
FAT-fs (sda2); error, fat_get_cluster: invalid cluster chain (i_pos 0)
FAT-fs (sda2): Filesystem has been set read only

But the mount command still lists the sda2 mount as rw.

The Input/Output error appears with any attempted access to the directory:
ls ubuntu, sudo mv ubuntu ..., sudo rm -rf ubuntu all produce the Input/Output error.
I forget the error message from the third installation attempt, but it was a failure
I expected and might have been the IO error (it was NOT the error window produced from
the second installation attempt which apparently caused the corrupted directory).

The error window on the second installation (to hard disk) was:
Window title: Unable to install Grub in a dummy
Text: Executing 'grub-install dummy' failed
      This is a fatal error.

Since I fixed the bad directory, and I'm not really working on my own UEFI machine, I'll hold off on doing anything more, like running the grub-install. I hope this helps in improving things.

A guess as to what's wrong:
Looks like an "off-by-one" error on a loop index in grub install when it encounters an existing EFI/ubuntu directory. The directory is probably rewritten with an extra (free) block added at the start. The dosfsck reports such in the below terminal capture. Confirm this by looking at the filesystem image posted above.

The fix to get rid of the corrupted directory (since rm won't work) applying Phillip's (comment #25) suggestion:
$ sudo mount -tvfat /dev/sda2 /mnt/sda2
ubuntu@ubuntu:/mnt/sda7/etc$ ls !$
ls /mnt/sda2
EFI

ubuntu@ubuntu:/mnt/sda7/etc$ sudo dosfsck -r /dev/sda2
dosfsck 3.0.13, 30 Jun 2012, FAT32, LFN
/EFI/ubuntu
  Contains a free cluster (12149). Assuming EOF.
Reclaimed 277 unused clusters (1134592 bytes).
Perform changes ? (y/n) y
/dev/sda2: 326 files, 12146/65536 clusters

ubuntu@ubuntu:/mnt/sda7/etc$ sudo dosfsck -r /dev/sda2
dosfsck 3.0.13, 30 Jun 2012, FAT32, LFN
/EFI/ubuntu
 Start does point to root directory. Deleting dir.
Reclaimed 276 unused clusters (1130496 bytes).
Perform changes ? (y/n) y
/dev/sda2: 326 files, 12146/65536 clusters

ubuntu@ubuntu:/mnt/sda7/etc$ sudo dosfsck -r /dev/sda2
dosfsck 3.0.13, 30 Jun 2012, FAT32, LFN
Orphaned long file name part "ubuntu"
1: Delete.
2: Leave it.
? 1
Perform changes ? (y/n) y
/dev/sda2: 325 files, 12146/65536 clusters

ubuntu@ubuntu:/mnt/sda7/etc$ sudo dosfsck -r /dev/sda2
dosfsck 3.0.13, 30 Jun 2012, FAT32, LFN
/dev/sda2: 325 files, 12146/65536 clusters

ubuntu@ubuntu:/mnt/sda7/etc$ ls /mnt/sda2/EFI
Boot Microsoft toshiba