Linux mount windows partition

Если у вас на компьютере установлены две операционные системы: Linux и Windows 8, 8.1 или 10 и вы захотите примонтировать системный раздел Windows, чтобы скопировать оттуда или записать туда файлы, то, скорее всего, столкнетесь с ошибкой.

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

Содержание статьи

  • Монтирование раздела Windows в Linux

  • Выводы

Скорее всего, если вы попытаетесь примонтировать раздел Windows, утилита mount выдаст вот такое сообщение: Error mounting: windows is hibernated refused to mount и примонтирует его только для чтения:

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

Такое сообщение может сбить вас с толку. Обычно мы выключаем компьютер, с помощью пункта Завершение работы в меню Пуск. Никаких упоминаний о гибернации там нет, но Linux утверждает система находиться в режиме гибернации. А дело в том, что современные версии Windows используют гибернацию по умолчанию для ускорения загрузки.

Когда вы выключаете современную операционную систему Windows, она выключается не полностью, часть системных процессов сохраняются на диск, чтобы загрузка выполнялась быстрее. Это ускоряет процесс загрузки, но и имеет недостаток при использовании Linux.

Чтобы исправить эту проблему можно загрузить Windows и отключить гибридную загрузку. Единственным недостатком такого метода будет замедление загрузки системы. Она будет загружаться приблизительно с такой же скоростью, как Windows 7. Но зато вы сможете выполнить подключение раздела Windows в Linux. Ещё можно войти в Windows и перезагрузить компьютер, при выборе этой опции гибернация не используется.

1. Перезагрузка Windows

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

Поэтому если в следующий раз захотите перейти в систему Linux из Windows — выбирайте пункт перезагрузка. Так система не уйдет в гибернацию и у вас не возникнет ошибок во время монтирования раздела Windows в Linux.

2. Выключение с клавишей Shift

Если вам нужно именно выключить компьютер есть еще один способ. Когда выбираете пункт меню выключить удерживайте нажатой клавишу Shift. Тогда система тоже не будет использовать гибернацию и полностью выключиться.

3. Отключение гибридной загрузки

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

Для этого загрузитесь в Windows, откройте панель управления, откройте пункт Оборудование и звук. В разделе Электропитание  выберите Изменение параметров, которые сейчас недоступны:

В открывшимся окне кликните по ссылке Изменить параметры, которые сейчас недоступны, затем пролистайте вниз и снимите галочку с пункта Включить быстрый запуск:

Затем нажмите кнопку Сохранить изменения.

4. Удаление файла Hiberfile.sys утилитой диски

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

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

Для удаления файла hiberfile.sys достаточно добавить опцию монтирования файловой системы ntfs remove_hiberfile. Этот же совет вы можете видеть когда пытаетесь монтировать системный раздел с помощью ntfs3g.

В Ubuntu и других дистрибутивах с оболочкой Gnome это можно сделать с помощью утилиты Диски:

В правой части окна программы выберите жесткий диск с Windows, затем выберите системный раздел Windows. Кликните по кнопке с шестерней и выберите Изменить параметры подключения:

Переключите выключатель Automatic Mount Options в положение Off, затем вставьте следующую строку в конец опций монтирования внизу окна:

,remove_hiberfile

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

5. Удаление файла hiberfile.sys утилитой mount

Если вам нужно просто один раз подключить Windows раздел в Linux, несмотря на ошибку error mounting windows is hibernated и не настраивая никаких автоматических опций воспользуйтесь утилитой mount. Команде нужно передать имя системного раздела Windows включить ту же самую опцию, например:

mount -o defaults,rw,remove_hiberfile -t ntfs /dev/sda2 /mnt/ntfs

Здесь /dev/sda2 — раздел диска с Windows, а /mnt/ntfs — точка монтирования.

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

mount -o defaults,ro -t ntfs /dev/sda1 /mnt/ntfs

В Linux можно монтировать системные разделы в режиме только чтение, даже когда система Windows в гибернации.

Выводы

Независимо от того какой способ вы выбрали, в результате вы должны получить возможность подключить раздел Windows для чтения и записи:

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

If you are running a dual-boot of Ubuntu and Windows, sometimes you might fail to access a Windows partition (formatted with NTFS or FAT32 filesystem type), while using Ubuntu, after hibernating Windows (or when it’s not fully shutdown).

This is because, Linux cannot mount and open hibernated Windows partitions (the full discussion of this is beyond the ambit of this article).

In this article, we will simply show how to mount Windows partition in Ubuntu. We will explain a few useful methods of solving the above issue.

Mount Windows Using the File Manager

The first and safest way is to boot into Windows and fully shutdown the system. Once you have done that, power on the machine and select Ubuntu kernel from the grub menu to boot into Ubuntu.

After a successful logon, open your file manager, and from the left pane, find the partition you wish to mount (under Devices) and click on it. It should be automatically mounted and its contents will show up in the main pane.

Mounted Windows Partition

Mounted Windows Partition

Mount Windows Partition in Read Only Mode From Terminal

The second method is to manually mount the filesystem in read only mode. Usually, all mounted filesystems are located under the directory /media/$USERNAME/.

Ensure that you have a mount point in that directory for the Windows partition (in this example, $USERNAME=aaronkilik and the Windows partition is mounted to a directory called WIN_PART, a name which corresponds to the device label):

$ cd /media/aaronkilik/
$ ls -l
List Mounted Partitions

List Mounted Partitions

In case the mount point is missing, create it using the mkdir command as shown (if you get “permission denied” errors, use sudo command to gain root privileges):

$ sudo mkdir /media/aaronkilik/WIN_PART

To find the device name, list all block devices attached to the system using the lsblk utility.

$ lsblk
List Block Devices

List Block Devices

Then mount the partition (/dev/sdb1 in this case) in read-only mode to the above directory as shown.

$ sudo mount -t vfat -o ro /dev/sdb1 /media/aaronkilik/WIN_PART		#fat32
OR
$ sudo mount -t ntfs-3g -o ro /dev/sdb1 /media/aaronkilik/WIN_PART	#ntfs

Now to get mount details (mount point, options etc..) of the device, run the mount command without any options and pipe its output to grep command.

$ mount | grep "sdb1" 
List Windows Partition

List Windows Partition

After successfully mounting the device, you can access files on your Windows partition using any applications in Ubuntu. But, remember that, because the device is mounted as read-only, you will not be able to write to the partition or modify any files.

Also note that if Windows is in a hibernated state, if you write to or modify files in the Windows partition from Ubuntu, all your changes will be lost after a reboot.

For more information, refer to the Ubuntu community help wiki: Mounting Windows Partitions.

That’s all! In this article, we have shown how to mount Windows partition in Ubuntu. Use the feedback form below to reach us for any questions if you face any unique challenges or for any comments.

If you are using a dual-boot setup on your PC while using Linux as well as Windows, on different drive or partitions, then it might be necessary for you to set up auto mount the Windows partition on boot in case you need to access data on that partition or drive, because Linux operating systems don’t mount it by default.

Well, In this tutorial we will learn how to manually mount the Windows drive/partition on your Linux system as well as set up auto-mount on every reboot so that you won’t have to go through the hassle again and again.

Check your Kernel version

Since Windows uses the NTFS file system unlike Linux which uses Ext4 or BTRFS, you will need additional drivers on Linux distributions in order to support NTFS. Now, these drivers are already built into the Linux kernel versions 5.15 and above, and you don’t need to install anything if you are using the required kernel versions. To check which kernel is being used by your PC, you can type the following command in your Terminal:

Checking The Kernel Version On Linux

Checking The Kernel Version On Linux

If your Linux kernel version is less than 5.15, then you can either choose to update your system, or simply install the ntfs-3g driver by typing the following commands:

# On Debian and Ubuntu based distributions:
sudo apt install ntfs-3g

# On CentOS or Red Hat Linux:
sudo dnf install ntfs-3g

# For Manjaro or Arch Linux based distributions:
sudo pacman -S ntfs-3g

Since my Nobara PC uses the 6.11 kernel, I don’t have to install anything, and We can proceed to the next section, which is setting up the auto-mount.

Recognizing the Drive

First of all, you should recognize the drive or partition you are going to mount from the command line. This can be done by understanding the size of the Windows partition or drive from the GUI and matching it with the command line output of the parted or lsblk command.

Listing All The Partitions And Drives Using Parted

Listing All The Partitions And Drives Using Parted

As you can see, I have two NVMe SSDs attached to my PC and my windows drive is located on the second NVME drive which is mounted at /dev/nvme1n1, if you have a hard drive then it should look something like /dev/sda or /dev/sdb.

Now, you should notice in the screenshot that my data partition is listed in the 3rd position and is 511GB in size, so my partition’s name is actually /dev/nvme1n1. If you are using a hard drive then it should be something like /dev/sda1 or /dev/sdb1 etc. You can verify the partitions using the lsblk command:

Verify The Partition Number Using Lsblk Command

Verify The Partition Number Using Lsblk Command

Mounting the NTFS partition

Once you have recognized the partition, we can begin setting up a mount point in a directory where the drive will be mounted. Normally, the drives are mounted in the /mnt directory, so we’ll make the mounting directory there. Type the following command:

Create A Mount Point For Your Drive

Create A Mount Point For Your Drive

Once the directory is created, you can mount it by typing:

sudo mount /WINDOWS_PARTITIONS /MOUNT_POINT

For example, for my /dev/nvmen1p3, I have to type:

sudo mount /dev/nvmen1p3 /mnt/Windows
You Might Get This Error While Mounting

You Might Get This Error While Mounting NTFS filesystem

As you can see that I got an error because I didn’t shut down Windows properly (because fast boot is enabled from Windows), but I can mount the drive with read-only permission if I want to with the -ro flag like this:

sudo mount -o ro /dev/nvme1n1p3 /mnt/Windows
Mounting The Partition In Read Only Mode

Mounting The Partition In Read Only Mode

That’s it, you can now access your data from the Windows NTFS partition directly from your Linux PC without having to reboot.

Summary

In this tutorial, we learned how to mount and access a Windows NTFS partition on Linux in both read-only mode and with read and write access. Note that to gain write access, you need to disable Fast Boot from Windows settings so that it shuts down every time you press the power button instead of hibernating (which is the default in Windows 10 and 11).

We also learned about the NTFS-3G driver and its significance for different Linux kernel versions.

В чём главное отличие Linux от других операционных систем? Каждый отвечает на этот вопрос по-своему. Лично для меня чрезвычайно важно, что пользователи Linux с самых первых дней его существования находятся в постоянном — и что самое главное, конструктивном — общении между собой.

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

Понемногу система распространялась всё шире. На Западе, где привыкли и деньги считать, и без нарушения закона обходиться, бесплатный, с открытым кодом Linux сделался прекрасным выбором для оснащения компьютеров университетов и исследовательских институтов. В числе пользователей системы стали появляться именно «пользователи» в прямом значении слова — те, кто запускал в её среде свои приложения, обрабатывал данные, получал возможность общения с коллегами и друзьями через Интернет и по электронной почте, не прилагая усилий к совершенствованию кода ядра, драйверов и приложений. Но и такие люди вливались в сообщества исконных линуксоидов — просто потому, что только там возможно было получить консультацию по большинству практических вопросов. Да, «мануалы» — man-pages, страницы руководств — имелись уже тогда, но, написанные профессионалами для профессионалов, не всегда были сходу доступны начинающим.

Шло время, и пользователей у системы стало гораздо больше, чем творцов. Однако хотя дружественность (графического) интерфейса различных инкарнаций Linux и количество руководств увеличились, бытовое удобство пользования системой, надо признать, заметно ниже, чем у специально создававшегося «для каждой домохозяйки» семейства ОС одной Всеми Любимой корпорации. А что делать — забота об удобствах не была изначальной идеей при разработке Linux, чьими первыми авторами-пользователями стали сплошь профессиональные программисты.

Так что и в наше время квалифицированный совет гуру чрезвычайно важен для любого новичка в системе. Вот только всё относительно: некто, считающий, что хотя бы на своём уровне погружённости в вопрос он усвоил и освоил уже всё, что только можно, неожиданно обнаруживает явную недостаточность своих знаний. И тут на помощь приходит сообщество.

Вернёмся к предмету нашего разговора. В прошлом, пятом, выпуске заметок о Linux, я допустил, мягко говоря, недооценку возможностей ОС в той части, где рассказывал о монтировании внешних файловых систем. Благодаря активному обсуждению вопроса в конференции (кстати, всех призываю участвовать в ней!), я смог прояснить для себя несколько моментов и вношу теперь коррективы в своё изложение — с благодарностью к тем, кто побудил меня к более глубокому прочтению страниц руководства.

Итак, снова о монтировании Windows-разделов под Linux. Давайте посмотрим, как сама система при старте разбирается, что ей монтировать.

Файл /etc/fstab, формируемый при инсталляции системы, содержит инструкции по монтированию. Как можно убедиться, права доступа к этому файлу разрешают его чтение всем пользователям системы (и запускаемым ими процессам), а запись — только суперпользователю, что вполне естественно. Обратите внимание на третий столбец файла: в нём указан тип монтируемой системы. Отыщем строчки, содержащие запись vfat: это знакомые уже нам разделы /dos-c и /dos-d. Четвёртый столбец — данные о дополнительных опциях монтирования, которые в данном случае отсутствуют, судя по записи defaults. Так вот; именно потому, что установки монтирования были стандартными, нам и не удалось насладиться кириллическим видом названия директории C:\Мой компьютер. Не будем же мириться с таким положением дел.

Прежде всего, разрешим формальный, но точки зрения безопасности всё-таки существенный вопрос. А именно: переместим точки монтирования Windows-разделов из корневого каталога / в директорию /mnt, специально для того предназначенную. Необходимо это из тех же соображений, из каких пользовательские файлы хранятся в каталогах вида /home/имя_пользователя, а не прямо в корне системы. Если уж один из подмонтированных разделов (или домашняя директория одного из пользователей) окажутся скомпрометированными (compromised), заразе или взломщику не так просто будет подняться по дереву каталогов. Ведь правом создавать новые директории в корневой (/) обладает только root.

Итак, исходное состояние: в корневом каталоге находятся точки монтирования разделов Windows C и D — /doc-c и /dos-d соответственно. В каталоге же /mnt — точки монтирования только внешних устройств: флоппи-дисковода, приводов CD и DVD. Приступим.

Начнём с того, что убедимся: да, прямо сейчас, после загрузки системы, в соответствии со сформированным при установке файлом /etc/fstab, раздел Windows C подмонтирован именно в каталог /dos-c. И, как и прежде, русские буквы в названиях директорий и файлов отображаются вопросительными знаками. Хорошо же. Отмонтируем оба логических диска Windows при помощи команды umount (обратите внимание: имя команды отличается от английского термина «размонтировать» — unmount — отсутствием буквы n после u). Теперь, как нетрудно удостовериться, /dos-c преобразовался в банальный пустой каталог — свободную точку монтирования.

Теперь заведём директории /mnt/c и /mnt/d, более соответствующие требованиям безопасности, и смонтируем соответствующие Windows-разделы в них чуть грамотнее, чем делали это в прошлый раз. Команда создания директории — mkdir от make directory — обладает самоочевидным синтаксисом. Кстати, обратите внимание: исполнив директиву «mkdir /mnt/c», то есть указав в качестве аргумента абсолютный (от самого корневого каталога системы прописанный) путь, мы создаём директорию именно там, где рассчитываем. А вот команда «mkdir c» создаст директорию c в текущем каталоге — по умолчанию для пользователя root это /root, то есть в итоге получится директория /root/c. И, значит, можно было бы сперва переместиться в каталог /mnt — при помощи команды cd, нам уже знакомой, — а потом уже отдать приказ mkdir c. В результате мы получили бы ту же самую директорию /mnt/c.

Директории /mnt/c и /mnt/d созданы: самое время приниматься за монтирование. Вот оно, пожалуйста: команда mount, судя по аргументам, назначает устройству /dev/hde1 (а это как раз и есть Windows-диск C) точку монтирования /mnt/c. При этом указан тип файловой системы (ключ –t) vfat. Всё правильно. Но что за опции следуют за ключом -o?

Опция codepage указывает на кодовую страницу монтируемой файловой системы, а iocharset — на кодировку набора символов, используемую для ввода-вывода. Поскольку стандартная для Linux файловая система ext2 (и её расширение ext3) не делает никаких предположений о кодировке символов, и просто хранит имена файлов в восьмибитном представлении, указывать на то, как их отображать, — задача пользователя. Что мы, собственно, только что и сделали.

Как видим, разум в очередной раз восторжествовал над косной материей, и наименование директории «Мой компьютер» можно теперь с лёгкостью прочитать. Больше того — ей можно свободно пользоваться.

Подмонтируем сначала оставленный пока без внимания диск D. Он занимает (как мы помним из листинга команды df в предыдущей статье) раздел /dev/hde5, то есть первый из вторичных разделов данного жёсткого диска. Откуда такое обозначение? Имена /dev/hd* система присваивает логическим IDE-дискам (в отличие от SCSI-разделов, обозначаемых как /dev/sd*). Буками английского алфавита обозначается размещение физического диска на IDE-канале: так, /dev/hda — винчестер, установленный как master на первый IDE-контроллер, /dev/hdb — его slave, /dev/hdc и /dev/hdd — master и slave на втором контроллере. Мой диск именуется /dev/hde потому, что стоит мастером на ATA-100 контроллере HPT 370, интегрированном в материнскую плату, а «обычные» IDE-интерфейсы занимают CD-RW и DVD-приводы.

Жёсткий диск может быть разбит на 4 primary-раздела: первый из них обозначается в данном случае /dev/hde1 — на нём-то как раз установлена Windows. Прочее пространство диска представляет собой расширенный раздел (extended partition), где размещаются диск D Windows (именуемый в Linux /dev/hde5, поскольку стоит первым из расширенных: номера со 2 по 4-й зарезервированы для других primary-разделов, которых на диске нет), а также все собственно Linux-разделы.

Окончательно разобравшись с тем, как монтировать Windows-разделы, давайте в них немножечко порезвимся. Самое простое — научиться переходить из каталога в каталог: команда ls прекрасно работает с кириллическими именами файлов, как показано на предыдущем рисунке. Для того, чтобы пробел в названии был верно воспринят командным интерпретатором, мы «экранируем» его в процессе набора обратной косой чертой. А если имя каталога или файла набирать с применением автодополнения (клавиша табуляции, помните?), то в случае однозначного указания на нужное имя экранировку пробелов командный интерпретатор произведёт автоматически. Переключение между латинскими и русскими буквами осуществляется в консоли одновременным нажатием правых клавиш Shift и Ctrl — если, конечно, при установке системы вы выбрали поддержку русского языка.

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

Самый простой путь создания коротких текстовых файлов — команда echo. Наберите имя команды, следом в двойных кавычках — текст, который планируете поместить в файл, затем поставьте правую треугольную скобку (знак «больше») и имя файла. Желательно, абсолютный путь, иначе придётся сперва переместиться в нужную директорию. Нажимаем клавишу Enter — файл создан. Убедимся, что он присутствует в указанном каталоге, исполнив команду ls. А команда cat позволит нам просмотреть содержимое этого файла — как видно, и имя его записано по-русски, и внутри находится русский текст. Загляденье.

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

Разобравшись с дисковыми файловыми системами, обратимся к removable media — а именно, к CD-приводу и дискам. Установим диск в привод и посмотрим, не стало ли его содержимое доступным в той директории, которая назначена в файле /etc/fstab соответствующей точкой монтирования — в /mnt/cdrom. Нет, действовать надо вручную (если работа идёт в консольном режиме, конечно; в графической оболочке по умолчанию активировано автомонтирование CD и DVD).

Монтировать привод будем без особых параметров — все, что могут в данном случае понадобиться, уже досконально перечислены в файле /etc/fstab. Можно даже не называть имя устройства, которое предназначено для монтирования в точку /mnt/cdrom: получив такую сокращённую директиву, система сама обратится к /etc/fstab и воспользуется соответствующей строчкой.

Давайте ещё немного поиграем с опциями монтирования. Установим в флоппи-привод дискетку и сделаем её доступной системе. Допустим, что нам захочется потом поработать с ней в Windows, поэтому команду mount исполним с указанием устройства (/dev/fd0, то есть первый флоппи-привод), точки монтирования и типа файловой системы.

Дальше скопируем на дискету только что созданный на диске С файл с кириллическим именем и содержимым; убедимся, что он объявился на новом месте, и отмонтируем дискету. А теперь остановимся на минуту и задумаемся: зачем нам нужен исполняемый текстовый файл?

Монтирование внешних файловых систем осуществляется в Linux с правами, подразумевающими для размещённых на них файлов и чтение, и запись, и исполнение; владельцем при этом оказывается root — если в файле не прописана опция owner или user. С владельцем мы ещё разберёмся: понятно, что в общем случае допускать монтирование сторонних систем от имени суперпользователя — это, вообще говоря, опрометчиво. По-хорошему, для Windows-систем следует завести отдельную группу пользователей (например, winusers), куда и приписать всех тех, кому могут понадобиться Windows-разделы. Однако операции с пользователями и группами мы с вами освоим чуть позже; пока же давайте разберёмся хотя бы с правами.

Среди прочих опций команды mount (man mount — настоятельно рекомендую!) есть и такая, как umask. С её помощью определяется маска прав, с которыми монтируются все файлы и каталоги системы. Что такое права, мы уже знаем; что же такое маска? Давайте по порядку.

В данный момент нас интересуют права на чтение, запись и исполнение файлов (чтение содержимого, запись и перемещение внутрь каталога — соответственно). Таких групп — три: обратите внимание на расширенный (с опцией –l) листинг команды ls. Первая группа (rwx) обозначает наличие соответствующих прав для владельца файла (если буква стоит на своём месте, право имеется), вторая — для группы, и третья — для всех прочих пользователей компьютера. Таким образом, получаем набор из трёх групп по три бита информации: каждое право может только наличествовать либо отсутствовать (буква — прочерк, единица — ноль). Значит, вместо, скажем, rwx rw- r— можно записать 111 110 100 (пробелы между группами я добавил для наглядности). Переведём эти группы чисел из двоичной системы в десятичную: 111 — это два во второй степени плюс два в первой плюс два в нулевой, то есть 4+2+1=7; 110 — соответственно, 6, и 100 — 4. Значит, вместо rwxrw-r—, то есть 111110100, сведения о правах на файл можно отобразить короче — как 764.

Всё это замечательно, и всё это нам ещё пригодится, когда мы займёмся непосредственным управлением правами файлов. Но что же такое маска? А очень просто: это дополнение текущих (или желаемых) прав файла до 111111111 в двоичной системе. То есть, в нашем примере, для прав файла 111110100=764 маска (в которой на местах нулей должны стоять единицы, и наоборот) будет 000001011=013.

Возвращаемся к параметрам команды mount. Опция umask задаёт маску прав файлов и каталогов в монтируемой файловой системе. Давайте смонтируем теперь флоппи-диск снова, но уже так, чтобы находящиеся на нём файлы не были исполняемыми, то есть чтобы бит x, последний в каждой тройке битов прав, обращался у них в ноль. В итоге мы собираемся получить права rw-rw-rw-, иначе 110110110. Значит, маска должна быть 001001001, то есть 111. Её и укажем.

Получилось! Как видим, созданный нами файл отображается теперь не ярко-зелёным, как это принято в цветной консоли для исполняемых файлов, а нейтральным серым цветом. И команда ls -l подтверждает — да, бит x из прав файла пропал для всех трёх категорий пользователей. Обратите внимание: мы добились этого одними только опциями монтирования, никак не воздействуя непосредственно на сам файл! Вообще говоря, мы и не смогли бы на него воздействовать: Windows не знает подобного инструментария, и в её файловой системе невозможно присвоить файлам некие постоянные права. Они наличествуют у подмонтированных файлов только в то время, пока с ними оперирует Linux. И это можно поставить себе на службу — например, ограничивать число пользователей, которым из-под Linux будут доступны даже подмонтированные Windows-разделы, просто указав в опциях монтировки такую маску, которая запретит доступ к этим разделам всем, кроме членов некой определённой группы. Но этим, повторюсь, мы займёмся чуть погодя.

Ну что же; оставим на время гостеприимную территорию Linux и вернёмся в землю, увереннее обетованную, — перезагрузимся в Windows, иными словами. Команда reboot, выполненная от имени root, подойдёт. Кстати: вы ведь не стали удалять прежние точки монтирования /dos-c и /dos-d, верно? (Вопрос о том, какой командой это сделать, я пока оставлю за кадром.) И очень правильно, поскольку файл /etc/fstab остался у нас прежним. Как (и как именно) его править, поговорим в следующий раз, кстати. И поскольку он остался, каким и был, система при очередном входе в Linux будет пытаться смонтировать Windows-разделы на указанные там места — и чрезвычайно удивится, не отыскав ожидаемых точек монтирования. Не надо её пока разочаровывать.

Пока мы обсуждали тут с вами отвлечённые материи, система уже перезагрузилась, надеюсь; давайте убедимся, что трудолюбиво созданный нами в разделе FAT32 из-под Linux файл благополучно наличествует в корне директории C, как, собственно, и ожидалось.

Вот, правда, с содержимым всё будет не так просто. Автоперевода кодировки koi8-r в cp1251 мы с вами не получим, указывая даже самые верные параметры монтирования. Текст в нашем файле, набиравшийся в Linux на хорошем литературном русском, из-под Windows читается патетически знакомым по множеству коряво кодированных электронных писем образом. То есть практически не читается. Без перекодировщика не обойтись.

Ещё урок: давайте обратимся к дискете (помните, мы записывали на неё тот же самый файл?) и посмотрим, что у нас там? А там у нас — замечательное свидетельство невнимания, типичной и главной ошибки в Linux (да, наверное, и в компьютерном деле вообще). Помните, с какими опциями мы монтировали дискету? –t vfat. И всё. Ни codepage, ни iocharset указаны не были — вот почему наименование файла, для диска C нормально переведённое на лету из koi8-r, в котором мы набирали его в консоли, для дискеты переведено не было.

Отсюда мораль: внимательным в Linux нужно быть всегда. Конечно, даже самый матёрый системщик — не Господь бог, и ошибаться может тоже, хотя и реже, чем обычные люди. Вот почему системщики предпочитают на всякий повторяющийся случай жизни писать скрипты (некий аналог .bat-файлов в старом добром MS-DOS) и делать это со всем тщанием, а потом уже со спокойной душой запускать их, не думая ни о чём. Но вот это уже точно — совсем другая история.

If you are rocking a dual-boot setup with Windows and Linux, you might want to access data stored in the Windows drives from the Linux system.

However, you might find that Windows drives do not appear in the file manager. This is because, in some distros, you need to manually mount them. Let’s take a look at how you can access your NTFS/Windows drives in Linux.

Step 1: Install the NTFS-3G Driver

To successfully mount and access NTFS drives on Linux, you will need to install a driver to ensure no incompatibility issues arise. The go-to driver when working with NTFS drives is NTFS-3G. It’s cross-compatible between Debian/Ubuntu derivatives, Arch Linux-based systems as well as RHEL/CentOS/Fedora systems.

To install the NTFS-3G driver on your Linux system, fire up a terminal and install it using the package manager of the distro that you’re running:

On Debian and Ubuntu, run:

        sudo apt install ntfs-3g
    

On Arch-based systems, run:

        sudo pacman -S ntfs-3g
    

To install the NTFS-3G driver on Fedora, CentOS, or RHEL, issue the following command:

        sudo dnf install ntfs-3g
    

This should install the driver on your Linux system. Now you can move on to the next steps.

Step 2: Identify the NTFS Partition

output of the fdisk -l command

A preliminary step before mounting a drive is to first identify its device ID. This is important because you might end up causing unwanted data loss by working with the wrong partition or drive.

To identify all the drives and their partition types, use the fdisk command with the -l flag.

        sudo fdisk -l
    

The output will display all the different drives and partitions along with useful information like size, available free space, partition type, and more. Take note of the device name carefully. You will be needing it later on in this guide.

Step 3: Make a Directory to Mount the Drive

In Linux, everything is treated as a file, including hardware devices. So, to mount your NTFS drives on Linux, you have to create a separate directory wherein the drive will be mounted, and its content laid out.

This process is as simple as creating a regular directory on Linux. Using the mkdir command, create a new directory in the root partition of your Linux system. For the sake of better organization, make the directory under the /mnt directory and name it «media».

        sudo mkdir /mnt/media
    

Now that we’ve allocated a directory for the NTFS drive, we need to update the file system tables on Linux with the location of the drive.

Step 4: Update the File System Tables and Mount the Drive

update fstab

Updating the file system tables is a crucial step that enables your Linux machine to recognize and mount new storage drives. In Linux, the /etc/fstab file stores the file system configurations.

        sudo nano /etc/fstab

You need to add the NTFS drive’s location and other important data to make sure that your system can mount it without any hiccups.

To update the file system table of your Linux system, use any text editor of your choice and open the /etc/fstab file.

In a new line, add the NTFS drive location, the directory that you created earlier, the driver to use (NTFS-3g), and read, write, and user access information. Make sure to separate each input with one Tab space. If you’re unsure what to type in, you can replicate the settings for any drive that’s already mounted and functional.

Write out the file once you’re done inputting the data. Fire up the terminal and use the mount command in conjunction with your device ID to mount it:

        mount /dev/sda3 /mnt/media/drive_location_here

In case you wish to unmount the drive, you can do that using the umount command:

        umount /dev/sda3 /mnt/media/drive_location_here
    

That’s all you need to do. Optionally you can restart your system, however, it won’t be required in most cases. You can now explore your NTFS drive from the terminal using the cd command or via the file manager of your Linux distro.

Now You Can Access Windows Drives in Linux

While it may be a bit tedious, it is still straightforward and a permanent process. You can now freely mount and unmount your Windows drives when logged into Linux. In case you want to permanently use the drive on Linux, you will need to format it.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 x64 ltsc легкая игровая сборка 21h2 с лаунчером
  • Отключение защитника windows 10 через групповую политику
  • Fan control windows vista
  • Как изменить место хранения временных файлов windows
  • Canon ipf670 драйвер windows 10