diff --git a/src/os/uefi/mod.rs b/src/os/uefi/mod.rs
index 301b1fec651c8adf687d6b687480bf2829840a33..06529acd7cd29f93a7f5c7900baef92a65105028 100644
--- a/src/os/uefi/mod.rs
+++ b/src/os/uefi/mod.rs
@@ -92,6 +92,10 @@ impl Os<
 
     fn filesystem(&self, password_opt: Option<&[u8]>) -> syscall::Result<redoxfs::FileSystem<DiskEfi>> {
         for block_io in DiskEfi::all().into_iter() {
+            if ! block_io.0.Media.MediaPresent {
+                continue;
+            }
+
             if block_io.0.Media.LogicalPartition {
                 match redoxfs::FileSystem::open(block_io, password_opt, Some(0), false) {
                     Ok(ok) => return Ok(ok),