I've successfully followed these instructions to get a Raspberry Pi 3 to boot from a USB hard drive. Broadly speaking, it works very well.

Unfortunately, it seems that the root (ext4) partition doesn't get unmounted cleanly when I reboot (from the GUI or from the command line). This means that when it then tries to boot up, I just get a black screen.

In order to get it then to power up, I have to attach the hard drive to a laptop and fsck the ext4 partition. Once I've done that, I can put it back into the Pi, and it'll boot cleanly.

That's really annoying, though. How can I either

  1. force it to fsck at boot time, or
  2. make it unmount cleanly when it powers down?

I've tried various options in cmdline.txt, but with no success. I'm not even seeing the coloured splash screen, so I have a feeling it's not even getting as far as reading cmdline.txt, but it's hard to verify this.

1 Answer 1


I was under the impression that the root was fsck'ed during the boot process, if deemed necessary. You could verify that by checking the /etc/fstab file. Look for your root partition entry (line with a / in the second column) and verify that the sixth column is 1 and not 0. It should look like the following line:

/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1 

If it is 0, change it to 1 and restart your pi. If the last column is already set to 1, then you should probably try forcing fsck at boot. Take a look at this answer.

About the sixth field in fstab (from the man page):

This field is used by fsck(8) to determine the order in which filesystem checks are done at boot time. The root filesystem should be specified with a fs_passno of 1. Other filesys- tems should have a fs_passno of 2.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.