Защита двойной загрузки Windows от опасного кода (например, rm -rf)

16

Я думаю о двойной загрузке Windows 10 и Ubuntu в разных разделах одного SSD. Если rm -rfв разделе Ubuntu происходит что- то вроде кода , это влияет на Windows или оставляет другие разделы в покое? И если это влияет на раздел Windows, как я могу предотвратить это?

Пол Ким
источник
3
Делайте резервные копии (что вы должны делать в любом случае!)
pjc50
2
Все беспокоятся об этом, но я предлагаю вам раскрутить контейнер Docker и попробовать его. Большинство дистрибутивов Linux заставят вас ответить «да» и ввести пароль, чтобы сделать что-то действительно
глупое

Ответы:

16

Если у вас есть физический доступ к компьютеру, вы можете делать с файлами на нем все, включая чтение, повреждение или удаление.

Тем не менее, можно случайно усложнить удаление файлов.

Если вы хотите читать документы в своем разделе Windows 10, вы можете смонтировать раздел в режиме только для чтения . Вы не сможете редактировать документы Word, но этого будет достаточно, если вы хотите читать PDF, слушать MP3 или смотреть фильмы в разделе Windows. Другой возможностью было бы создать D:раздел FAT32 под Windows, который вы бы монтировали с разрешениями на запись под Ubuntu.

Я мог бы придумать как минимум 5 коротких команд для уничтожения раздела Windows из системы Linux, но все они потребовали бы rootпривилегий. Будьте осторожны, когда вы хотите запустить команду, начинающуюся с sudoили когда программа говорит вам, что «для запуска требуется аутентификация».

Наконец, будьте очень осторожны при установке Ubuntu под Windows. Программа установки дает понять, какие разделы изменяются, создаются или удаляются, но все еще можно удалить существующие разделы, если вы достаточно долго игнорируете предупреждения.

Чтобы быть в безопасности, следуйте отличным советам @ Emmet (обязательно сделайте резервную копию своих данных).

Эрик Думинил
источник
2
Существует такое же количество команд Windows, которые могут повредить раздел Ubuntu.
Brilsmurfffje
3
@Brilsmurfffje: Конечно, можно повредить раздел Ubuntu из Windows. Тем не менее, Ubuntu обычно устанавливается после Windows, проще монтировать NTFS в Ubuntu, чем Ext4 в Windows, и командные строки более распространены в Ubuntu, чем в Windows.
Эрик
2
Всякий раз, когда я запускаю Win / Lin с двойной загрузкой, я создаю раздел FAT32, который выглядит как D: в Windows, и использую его для передачи чего-либо между операционными системами. Я просто не доверяю Windows, имеющей доступ к ext3 / 4 или Linux, имеющей доступ к NTFS, с правами на запись.
Монти Хардер
1
Если у вас есть физический доступ к компьютеру, вы можете делать с файлами на нем что угодно, включая чтение, повреждение или удаление файлов. « Я чувствую, что вы добавили« чтение »слишком быстро, учитывая, что шифрование - вещь ...
user541686
@ Mehrdad: Ты прав. Я не смог найти способ упомянуть зашифрованные файлы в этом предложении, потому что вы можете повредить или удалить их, даже если вы не можете расшифровать содержимое.
Эрик
9

Общая основа для предотвращения потери данных: ПОМНИТЕ, ЧТОБЫ ВСЕГДА СОЗДАТЬ РЕЗЕРВНЫЕ ФАЙЛЫ

Это не влияет на раздел Windows, потому что вы запускаете его с вашего компьютера с Ubuntu.

Представь это так

/dev/sda1 ntfs-bootfile
/dev/sda2 ntfs-win
/dev/sda5 ext4-root --> (YOUR LOCATION NOW)
/dev/sda6 ext4-swap

Если вы работаете rm -rfв своем местоположении, это повлияет на sda5раздел, в котором находится ваша система Ubuntu. Так что это влияет только на Ubuntu.

Предположим, у вас есть загрузчик grub для загрузки 2 ОС (Ubuntu и Windows), если вы случайно удалите GRUBфайл, Windows не сможет загрузиться, но данные внутри останутся нетронутыми.

Тем не менее , Ubuntu, как правило, монтирует раздел Windows, когда он доступен, и, если вы скажете «run» rm -rf /*, Ubuntu - без колебаний удалит ВСЕ файл, включая раздел Windows.

Там также печально известная ddкоманда, отсюда и disk destroyerпсевдоним. Это широко используется для: форматирования диска, клонирования диска, создания загрузочного USB и т. Д.

ddможет сбросить весь основной диск, dd if=/dev/zero of=/dev/sdaзаменив все данные на главном диске на ноль - и до свидания нашим данным!

С учетом вышесказанного, пожалуйста, будьте очень осторожны при запуске команды и всегда внимательно смотрите перед выполнением чего-либо - лучше всего предотвратить катастрофу до того, как это произойдет.

Я настоятельно рекомендую вам изучить различные команды Linux, чтобы вы могли сказать, что делает команда, прежде чем ее запустить.

Кроме того , опять же, пожалуйста , быть сложным при работе с dd, это распространенная ошибка опечаткой , sdbчтобы sda, что - нибудь случится после того, как это ужасно.

Джонни
источник
12
ОП спрашивает о «кодах как rm -rf ». Для меня это означает различные деструктивные команды, которые можно выполнять в системе Linux. Некоторые из них могут вызвать проблемы в Windows. Например, cat /dev/zero > /dev/sdaбудет записывать нули во все / dev / sda, тем самым удаляя все данные на этом диске и, возможно, весь компьютер. Конечно, такие вещи менее вероятны на практике, но для полного ответа их нужно признать. Если требуется действительно безопасная изоляция для предотвращения проблем Linux в Windows (или наоборот), единственным достаточным методом является виртуальная машина какого-либо рода.
john01dav
2
Кроме того, раздел Windows может быть установлен в /mediaили /mnt. В этом случае, rm -rfбезусловно, сможет уничтожить файлы Windows.
Эрик
4
Этот ответ неверен, если раздел Windows смонтирован в Ubuntu! Если, скажем, файловая система Windows смонтирована /mnt, а вы запускаете rm -rf /*, то пока, пока, файлы Windows ...
marcelm
4
@ wizzwizz4 "Нет, они будут удалены позже". Это зависит от того, как расширяется "*", обычно в алфавитном порядке, поэтому "/ bin" перед "/ mnt". Но на самом деле порядок не имеет значения, потому что, как вы уже сказали, «rm» уже находится в памяти, и это единственное, что имеет значение.
rexkogitans
2
@EricDuminil Если предположить, что система не подкачана, как только rmоткроются все необходимые библиотеки, не будет иметь значения, будут ли эти библиотеки удалены из файловой системы. Они останутся на диске, не связаны, но все еще открыты rm. Вероятно, возникнет проблема, когда ОС попытается запустить новый процесс, для которого требуется файл или устройство, которое уже было удалено. Вы можете запаниковать систему в этот момент.
doneal24
1

Если тот факт, что две операционные системы на одном диске не могут нанести вред друг другу, заставляет искать другие решения, здесь можно найти другие варианты. Они зависят от ваших практических потребностей и вашего бюджета.

Вы можете запустить одну (или обе) системы как виртуальные машины вместо использования отдельных разделов. Виртуальная машина должна иметь ограниченный доступ к хосту или другой виртуальной машине, поэтому вы не можете случайно повредить хост-машину (хотя все равно будут обдуманные пути). Еще одним преимуществом является то, что вы можете использовать оба одновременно.

Если вы хотите, чтобы две ваши операционные системы были полностью разделены, поместите их на сменные жесткие диски или, что еще лучше, на отдельные компьютеры (меньше шансов случайно уничтожить ваши диски).

Если вам нужен доступ к данным, но очень часто вы делаете такие вещи в Linux, которые могут с небольшим промежутком времени нанести вред системе Windows, поместите их на разные машины и получите доступ к Windows только через инструмент удаленного доступа, который уважает Механизмы безопасности Windows. Вы получите полный доступ к своим данным и очень высокий уровень безопасности по цене несколько сотен евро / долларов США за дополнительное оборудование. Кроме того, у вас есть резервная система, если она выходит из строя, поэтому, если вы работаете на этих машинах, дополнительные затраты могут окупиться.

Карл Домбровский
источник
0

Подобные риски можно легко устранить, включив шифрование диска BitLocker в операционной системе Windows10. Шифрование раздела делает Ubuntu неспособным монтировать и, следовательно, выполнять такие действия, как rm -r.

Это также означает, что вы не можете обмениваться файлами с системой Ubuntu через раздел Windows.

Если вы хотите обмениваться данными между двумя операционными системами, я бы посоветовал вам создать отдельный раздел данных, который вы монтируете в обеих операционных системах.

Brilsmurfffje
источник
5
Невозможность смонтировать файловую систему не делает Ubuntu неспособной повредить ее. ddможет по-прежнему перезаписывать соответствующие сектора диска, используемые Windows, что делает зашифрованную файловую систему без возможности восстановления.
Патрик
2
@PatrickTrentin: Действительно. Вы не можете быть в состоянии прочитать любое смысловое содержание из раздела Windows, но cat, dd, fdisk, parted, или mkfs.ntfsвсе будет благополучно уничтожить все данные на разделе, зашифрована или нет.
Эрик
0

Grub держит на Системе. Прежде чем делать это, вы должны быть знакомы с diskpart и Grub. Убедитесь, что никто не говорит вам здесь, что ваш компьютер находится в списке для Linux. Моего не было;)

Канар
источник