Редактирование файлов linux через windows

Доступ к Linux-разделам из-под Windows

Двойная загрузка операционных систем является очень распространенным сценарием среди пользователей Windows, которые решили попробовать систему Linux. Они поступают так потому, что еще не чувствуют себя достаточно уверенно, чтобы полностью оставить Windows и перейти на Linux. Или же потому, что этим пользователям необходимы некоторые программы и игры, которые невозможно запустить под Linux. Но в обоих случаях, когда пользователь работает между двумя операционными системами, существует потребность во взаимодействии между обеими системами. В операционной системе Linux есть изначальная поддержка «родных» файловых систем Windows (NTFS, FAT). Это означает, что работая под системой Linux, можно иметь доступ к Windows-разделам. С системой Windows дело обстоит с точностью до наоборот. Чтобы получить доступ к Linux-разделам из-под Windows, необходимо установить сторонние программы, специально созданные для этой цели.

В этой статье дан обзор нескольких таких программ, которые позволяют открыть Linux-разделы, работая в операционной системе Windows. Все рассматриваемые программы имеют поддержку файловой системы ext4, которая является таковой по умолчанию для всех дистрибутивов Linux. Также подобные программы могут работать с более ранними версиями файловых систем, таких как ext3 или ext2, а также c файловыми системами другого типа.

Все программы, обзор которых я решил сделать в данной статье, по умолчанию предоставляют доступ к Linux-разделам только в режиме чтения. Это означает, что с помощью таких программ можно читать файлы с Linux-разделов, но нельзя производить запись на них. С моей точки зрения, такой подход является наилучшим вариантом, так как иметь полный доступ к Linux-разделам может быть опасным. Это связано с тем, что при полном доступе к файловой системе Linux, достаточно изменить или удалить хотя бы один файл, что приведет операционную систему Linux в неработоспособное состояние. Пользователь должен иметь точное представление о том, что он собирается изменить, прежде чем приступать к самому изменению. В этом случае риск повредить систему сводится к минимуму.

Ext2Fsd

Ext2Fsd является драйвером файловой системы ext2, написанным под линейку операционных систем Windows (2000, XP, Vista и Win7). Будучи установленным, драйвер предоставляет доступ к Linux-разделам по буквенному обозначению каждого раздела для любой из установленных под Windows программ.

Установщик программы Ext2Fsd во время инсталляции задаст вопрос о добавлении службы ext2fsd в автозагрузку операционной системы. Если согласиться с предложением инсталлятора, то данный сервис будет запускаться каждый раз при загрузке операционной системы Windows, автоматически монтируя указанные в настройках разделы Linux. Если же отказаться от такой возможности, то службу нужно будет запускать вручную в каждом случае, когда необходимо получить доступ к определенным разделам.

Драйвер Ext2Fsd имеет дополнительную опцию для включения прав записи в файловых системах Linux. По причинам, которые я уже называл ранее, рекомендую оставить данную опцию отключенной, за исключением тех случаев, когда действительно необходимо что-либо изменить, и вы что знаете, что делаете.

Давайте посмотрим на основное окно программы Ext2Fsd:

Если нажать горячую клавишу F7 (или перейти в меню по пути «Tools — Service Management»), можно увидеть состояние службы (включена или отключена), и несколько дополнительных настроек, которые относятся к выбранному разделу:

Читайте также:  Universal ebook reader windows

Давайте смонтируем раздел. Это можно выполнить двумя способами. Первый — правым щелчком мыши на выбранном разделе в списке открываем контекстное меню и выбираем «Ext2 Volume Management».

Второй способ — просто нажать горячую клавишу F3 для выделенного в списке раздела.

Откроется следующее окно:

Если раздел, к которому нужно получить доступ, находиться на съемном носителе, то необходимо выбрать пункт «Automatically mount via Ext2Mgr» в контекстном меню. В этом случае указанный раздел будет монтироваться каждый раз, когда будет подключаться съемный носитель. В случае, если нужный раздел располагается на постоянно подключенном носителе, то для его автоматического монтирования необходимо выбрать пункт «Mountpoint for fixed disk, need reboot» в контекстном меню. Выберите данный пункт и выполните перезагрузку, если это необходимо.

Перейдем в «Мой компьютер»:

Видим, что Linux-раздел (Локальный диск H) смонтирован и к нему можно получить доступ точно также, как и к любому «нормальному» Windows-разделу. Для проверки открываю указанный раздел для просмотра данных на нем:

DiskInternals Linux Reader

Программа DiskInternals Linux Reader является официально бесплатной и поддерживает целый ряд файловых систем: ext2, ext3, ext4, HFS и ReiserFS.

Подобно программе Ext2Fsd, приложение Linux Reader предоставляет доступ к Linux-разделам только с правами чтения и не разрешает пользователям производить запись на них. Это гарантирует, что изменения в текущей операционной системе не скажутся на работе системы Linux.

Но, в отличие от предыдущей программы, Linux Reader предоставляет доступ к разделам не через их буквенное обозначение. Для каждого из Linux-разделов запускается своя собственная копия приложения. Такой способ имеет несколько приятных преимуществ, таких как использование «Проводника» Windows и функция предпросмотра. Последняя поддерживает только несколько типов файлов (определенный набор форматов изображений, несколько видео-форматов и еще несколько других, которые у меня не было возможности протестировать). Поэтому, если вы ищете файлы, для которых в программу Linux Reader встроена возможность предпросмотра, то можно просмотреть изменение прежде, чем сохранять их.

На изображении внизу видно функцию предпросмотра в действии. Если щелкнуть на пункте «Сохранить как . » (Save as. ), выбранный файл может быть сохранен в файловой системе Windows. Это бывает полезным, если необходимо работать с этим файлом в обход режима только для чтения.

Также программа Linux Reader может сохранять директорию целиком. Для этого нужно щелкнуть правым щелчком мыши на нужной папке и выбрать пункт «Сохранить» (Save). Затем нажать кнопку «Далее» (Next).

В следующем окне выбираем «Сохранить файлы» (Save Files) и снова нажмем кнопку «Далее» (Next):

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

Другой интересной особенностью программы является возможность монтировать образы дисков формата raw (например, таких как ISO-файлы) и контейнеры (примером может быть виртуальные диски VirtualBox). Подобную возможность лично я не тестировал, но как мне кажется, это полезная возможность.

Ext2Explore

Эта программа работает подобно Linux Reader, но поддерживает меньшее количество файловых систем: ext2, ext3, ext4. Данная программа имеет одну уникальную особенность, которой нет у двух предыдущих — она является портабельной. Это означает, что нет необходимости устанавливать программу под операционной системой. Она может быть запущена с любого носителя, включая и съемные.

Программа Ext2explore.exe должна запускаться в системе Windows с правами администратора. Это можно выполнить с помощью контекстного меню.

Для дальнейшей работы в программе, чтобы сохранить время, откройте окно свойств файла и включите опцию «Запускать эту программу с правами администратора» (Run this program as an administrator) на вкладке «Совместимость» (Compatibility).

Читайте также:  Kodak i1320 windows 10

Также, как и в программе Linux Reader, для того, чтобы открыть файл в другой программе, его необходимо первоначально сохранить в определенной директории в файловой системе Windows.

Заключение

Несмотря на то, что все из описанных выше программ выполняют те задачи, для которых они были созданы, имеется еще одна возможность для обмена файлами между двумя операционными системами Linux и Windows, более простая в использовании и интуитивно понятная. Для этого необходимо создать дополнительный раздел, отформатированный в файловой системе, понятной для операционной системы Windows и доступной для системы Linux. Файловая система FAT32 имеет изначальную поддержку как в системе Linux, так и Windows. Кроме того, Linux без проблем может читать и писать на разделы, отформатированные в файловой системе NTFS.

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

Посмотрите также другие статьи раздела об эмуляции возможностей Windows.

Источник

Файлы подсистемы Linux нельзя создавать, изменять или удалять при помощи инструментов для Windows

Весной этого года компания Microsoft начала интеграцию Linux-инструментария в свою новую ОС Windows 10. Первым шагом было включение Ubuntu и Bash инструментария в сборку 14316. Суть обновления заключалась в добавлении прослойки WSL, которая транслировала системные вызовы Linux в системные вызовы Windows, что позволяет развернуть в основном окружении Windows полноценный инструментарий Ubuntu Linux без эмуляции и виртуализации.

Вчера Microsoft опубликовала в официальном блоге запись, призывающую разработчиков не изменять, создавать или удалять файлы Linux при помощи инструментов или приложений Windows, так как это приводит к повреждению дистрибутива с необходимостью его последующей переустановки.

В начале поста в блоге на MSDN стоит крупное предупреждение:

Ни при каких обстоятельствах НЕ создавайте и/или изменяйте файлы Linux с помощью Windows, будь то приложения, инструменты, скрипты, консоли и т.д.

Создание/изменение файлов Linux из под Windows, скорее всего, приведет к повреждению данных и / или повреждению среды Linux, что в дальнейшем потребует переустановки дистрибутива!

Речь идет о любых файлах или папках, которые лежат в %LOCALAPPDATA%\lxss в подсистеме Linux в Windows 10.

Происходит подобное, судя по информации в блоге, из-за логики работы WSL.

Если WSL не удается найти файл метаданных Linux для данного файла, то делается вывод, что файл либо поврежден или удален, либо вы не в состоянии открыть или правильно прочитать файл, что приводит к сбоям. В некоторых случаях удаленные файлы распознаются как «поврежденные».

«Метаданные файлов (расширения, дата создания и прочая информация) формируются в Linux и Windows по-разному. По этой причине ПО и инструменты для Windows не способны корректно сохранить и записать метаданные Linux-файлов (в принципе, они и не должны этого уметь). Кроме этого некоторое ПО для Windows часто не редактирует исходный файл, а создает его копию. При этом исходный файл удаляется и заменяется другим, а метаданные теряются», — говорится в блоге.

Решается данная проблема хранением необходимых файлов, работа с которыми производится средствами Windows, в рамках файловой системы ОС от Microsoft, а файлы Linux не изменять, создавать или удалять при помощи инструментов для Windows.

Читайте также:  Как создать свой резервную копию windows 10

Источник

Редактирование файлов в среде разработки подсистемы Windows для Linux

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

  • Создайте проект, используя набор инструментов Linux , который не имеет хорошо поддерживаемого эквивалента Windows (Ruby, Node и т. Д.)
  • Редактируйте файлы с помощью редактора графического интерфейса пользователя Windows, такого как код Visual Studio.

Проблема в том, что приложения Windows не могут изменять файлы внутри виртуальной файловой системы lxss . Известно, что прямое изменение этих файлов вызывает все виды проблем.

Поэтому, кажется, есть только два неоптимальных варианта использования WSL для разработки:

Сохраните проект под lxss ( /home/foo ). Обычный набор инструментов работает правильно. Тем не менее, редактирование ограничено либо Vim / Emacs на основе терминала, либо тем, что может быть запущено на опасном X-сервере , что менее плавно, чем в собственных редакторах, работающих в Windows.

Сохраните проект в файловой системе Windows ( /mnt/c/Users/foo ). Теперь любой Windows-редактор можно использовать для разработки. Однако набор инструментов на основе Linux хрупок, поскольку он не предназначен для использования на «сетевом диске» и может вызвать проблемы с просмотром файлов или базами данных .

Есть ли способ получить лучшее из обоих миров — то есть, чтобы иметь возможность редактировать с помощью собственного приложения Windows, но при этом иметь инструментальную цепочку Linux, как это обычно бывает на локальном диске?

Microsoft недавно добавила всестороннюю поддержку для этого, и она должна быть общедоступной в обновлении за апрель 2019 года (19H1). Как только он будет готов, сервер 9P будет работать в фоновом режиме всякий раз, когда работает дистрибутив Linux. Сервер 9P сможет обрабатывать метаданные файловой системы Linux, а Windows сможет обрабатывать его как сетевой диск, чтобы обеспечить безопасный доступ к нему. Вы можете прочитать об этом по адресу https://blogs.msdn.microsoft.com/commandline/2019/02/15/whats-new-for-wsl-in-windows-10-version-1903/ .

Благодаря новой функции вы сможете безопасно получать доступ к файлам файловой системы Windows и Linux из Windows, если вы проходите через сервер 9P. Это будет обработано изначально из WSL. Например, из командной строки WSL вы сможете набрать, code /mnt/c/Users/username/src/windows-file.txt чтобы открыть файл Windows в VS Code, или набрать, code /home/username/src/linux-file.txt чтобы открыть файл Linux в VS Code.

Если вы не являетесь частью программы Windows Insider, у вас еще не будет к ней доступа, поэтому вам все равно придется использовать более старый метод, такой как wslpath.

wslpath преобразует пути в стиле Windows и Linux, чтобы вы могли легко открывать файлы Windows из командной строки WSL. Согласно https://github.com/Microsoft/WSL/issues/3146#issuecomment-388118689 , он откажется преобразовывать пути файловой системы Linux (то есть% AppData% \ lxss), потому что без 9P небезопасно изменять эти файлы из Windows , Это означает, что вы не можете открыть /home/username/src/linux-file.txt , но вы можете использовать code «$(wslpath -aw /mnt/c/Users/username/src/windows-file.txt)» .

В прошлом было несколько сторонних инструментов для выполнения одного и того же преобразования, но wslpath делает это изначально — фактически, ls -l /bin/wslpath показывает, что это просто ссылка на / init.

Источник

Оцените статью