I have a new installation on new hardware. After some challenges, I had a desktop environment (E17) and some applications installed. I had transferred some personal files from my old computer to an external hard drive.
When I connected the external drive to my new computer and booted, the process was interrupted by the message:
[Failed] Failed to mount /boot/efi.
See 'systemctl status boot-efi.mount' for details.
Followed by several dependency failures, and then "Welcome to emergency mode!" Following instructions on screen, I logged in and looked through journalctl. The point where everything goes bad is:
systemd: Mounting /boot/efi... mount: mount: unknown filesystem type 'vfat' systemd: boot-efi.mount mount process exited, code=exited status=32 systemd: Failed to mount /boot/efi. systemd: Depecdency failed for Local File Systems.
Here is some information about my setup:
# blkid /dev/sda1: UUID="0A5B-2ADF" TYPE="vfat" PARTLABEL="ESD" PARTUUID="44b2fa13-82e9-4422-bad4-e1d4f81b64a1" /dev/sda2: UUID="9e2ac679-ba66-471e-9d8d-b635c90fdfca" TYPE"ext4" PARTLABEL="main" PARTUUID="0395c091-a6d5-452a-ac30-ee73ca33c7eb" #less /etc/fstab #/dev/sda2 UUID=9e2ac679-ba66-471e-9d8d-b635c90fdfca / ext4 re,relatime 0 1 #/dev/sda1 UUID=0A5B-2ADF /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2
What I have already tried:
1. disconnect external hard drive and reboot - same result
2. in emergency mode, #mount /dev/sda1 /boot/efi produces "mount: unknown filesystem type 'vfat' "
3. booted with Arch CD - can mount /dev/sda1 /mnt/boot/efi
/dev/sda was partitioned with cgdisk, with /dev/sda1 being 512M, type EF00.
/dev/sda1 was formatted with mkfs.vfat -F32 /dev/sda1
Any help is greatly appreciated!
Last edited by dave.computer (2012-11-05 02:16:51)
It sounds like your initramfs doesn't have the needed module for vfat.
Have you tried booting to the fallback entry and/or rebuilding the initramfs?
Thanks for your replies.
I looked at my
and it had only the following uncommented
HOOKS="base udev autodetect pata scsi sata filesystems usbinput fsck"
, so I didn't see any problems there.
Then I booted from the CD, chrooted, rolled back my kernel to 3.6.3, and rebooted successfully! After I updated the kernel again, I remembered to also update the files in
I rebooted with the updated kernel and it was a success. Then I followed the directions here to make sure this won't happen again.
Thanks again for your help.
Thanks, dave.computer. This helped me realize I had done the same thing (forgetting to copy my updated kernel and initramfs img file to my special EFI boot partition).
As a result, I was getting a multitude of systemd "Dependency failed" errors.
Now that I've copied over my new 3.6.7 kernel and initramfs img to my EFI boot partition, everything is hunky-dory again.
Tired? There's a nap for that. --anonymous
I just had the same error message which happened when I ran "pacman -Syu" to update the linux kernel and then reobot. I didn't have CD ROM at hand but USB sticks. Let me share my experience:
1. Make a UEFI-bootable USB stick installed with Archlinux (https://wiki.archlinux.org/index.php/Un … B_from_ISO)
If your linux system is booted in UEFI mode, please do refer to the hyperlink. DO NOT use 'dd' to create a bootable USB stick. Or you won't be able to set up UEFI to load Linux (Error message would pop up in step 5).
Some error/warning message may appear after "cp -a /mnt/iso/* /mnt/usb". That should be OK because the absence of owner/group information in VFAT filesystem.
2. Boot from the UEFI-bootable USB stick
3. Mount the necessary partitions and chroot. Take my system for example:
# mount -t ext4 /dev/sdb2 /mnt # mount -t vfat /dev/sda2 /mnt/boot/efi # mount -t ext4 /dev/sda5 /var (if you won't install packages using pacman, you may omit this line) # arch-chroot /mnt /bin/bash (If sh shell is OK for you, you can omit "/bin/bash")
4. Copy the newly installed kernel files to the EFI partition
# cd /boot # cp vmlinuz-linux ./efi/EFI/arch/vmlinuz-arch.efi # cp initramfs-linux.img ./efi/EFI/arch/initramfs-arch.img # cp initramfs-linux-fallback.img ./efi/EFI/arch/initramfs-arch-fallback.img
5. Reset UEFI boot loader (for non-Mac user) (This step is necessary for me. In my case, I use rEFInd)
efibootmgr -c -w -d /dev/sdX -p Y -l '\EFI\refind\refind_<arch>.efi' -L "rEFInd" (in my case, the X=a, Y=2, "<arch>"=x64)
For more information regarding step 4. and 5., please refer to https://wiki.archlinux.org/index.php/UE … ng_EFISTUB
Last edited by ddreamer (2013-07-03 17:03:25)
If the kernel is x64 and in the ext4 filesystem, one may run the following to load the filesystem driver for the rEFInd:
# mkdir -p /boot/efi/EFI/refind/drivers # cp /usr/lib/refind/drivers_x64/ext4_x64.efi /boot/efi/EFI/refind/drivers