diff --git a/web/kvm/index.html b/web/kvm/index.html
index ebcc824a..230ed946 100644
--- a/web/kvm/index.html
+++ b/web/kvm/index.html
@@ -399,6 +399,20 @@
+
+
+
+
+  |
+ Read-write mode is enabled |
+
+
+ | Do not turn off PiKVM during this to prevent filesystem corruption |
+
+
+
+
+
| Current image: |
diff --git a/web/kvm/navbar-msd.pug b/web/kvm/navbar-msd.pug
index ae2e063e..2ba68520 100644
--- a/web/kvm/navbar-msd.pug
+++ b/web/kvm/navbar-msd.pug
@@ -23,6 +23,10 @@ li(id="msd-dropdown" class="right feature-disabled")
+menu_message("warning", "Current image is out of storage")
| This image was connected manually using #[b kvmd-otgmsd]
hr
+ div(id="msd-message-rw-enabled" class="hidden")
+ +menu_message("warning", "Read-write mode is enabled")
+ | Do not turn off PiKVM during this to prevent filesystem corruption
+ hr
table(class="kv msd-single-storage feature-disabled")
tr
td Current image:
diff --git a/web/share/js/kvm/msd.js b/web/share/js/kvm/msd.js
index 4e85239f..3e0fb9ae 100644
--- a/web/share/js/kvm/msd.js
+++ b/web/share/js/kvm/msd.js
@@ -318,6 +318,8 @@ export function Msd() {
(online && s.features.cdrom && s.drive.cdrom && s.drive.image && s.drive.image.size >= 2359296000));
tools.hidden.setVisible($("msd-message-out-of-storage"),
(online && s.features.multi && s.drive.image && !s.drive.image.in_storage));
+ tools.hidden.setVisible($("msd-message-rw-enabled"),
+ (online && s.features.rw && s.drive.rw));
tools.hidden.setVisible($("msd-message-another-user-uploads"),
(online && s.storage.uploading && !__http));
};