[Bug 1090829] Re: grub-efi fails to install with Input/output error

Ubfan 1090829 at bugs.launchpad.net
Tue Mar 26 06:05:29 UTC 2013


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 at ubuntu:/mnt/sda7/etc$ ls !$
ls /mnt/sda2
EFI

ubuntu at 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 at 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 at 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 at 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 at ubuntu:/mnt/sda7/etc$ ls /mnt/sda2/EFI
Boot  Microsoft  toshiba

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1090829

Title:
  grub-efi fails to install with Input/output error

Status in “dosfstools” package in Ubuntu:
  Confirmed
Status in “grub2” package in Ubuntu:
  Incomplete

Bug description:
  HP G6 laptop with Windows 8 installed, and looking to have a dual-boot
  with Ubuntu 12.10

  With SecureBoot enabled: http://paste.ubuntu.com/1421098
  And with SecureBoot disabled: http://paste.ubuntu.com/1421155

  grub-efi fails writing on the original ESP:

  # grub-install --efi-directory=/boot/efi --target=x86_64-efi
  mkdir: cannot create directory `/boot/efi/EFI/ubuntu': Input/output error

  Remark: this is similar but not duplicate of Bug #1091477


  **************** WORKAROUND1 (works):
  1) Via Gparted create another EFI partition (FAT32, 200MB, located in the first 100GB of the disk), move the 'boot' flag on it
  2) Install grub-efi in this new ESP (eg https://help.ubuntu.com/community/UEFI#Converting_Ubuntu_into_EFI_mode ).

  **************** WORKAROUND2 (to be tested):
  1) Backup the files in the ESP
  2) Format the ESP
  3) Recreate the ESP (FAT32, same size) via Gparted, place the 'boot' flag on it
  4) Restore the backups into this new ESP
  5) Install grub-efi in this new ESP.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/1090829/+subscriptions




More information about the foundations-bugs mailing list