Как в linux в ntfs

Обновлено: 06.07.2024

Строки конфигурационного файла fstab

Здесь будут рассмотрены только строки файла fstab. Более детально каждую строчку рассмотрим ниже.

Для просмотра файла fstab:

Пример, как может выглядеть конфигурационный файл fstab: /dev/scd1 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/scd0 /media/cdrom1 udf,iso9660 user,noauto,exec,utf8 0 0

Белый цвет.

Белым цветом помечен стандартный заголовок файла fstab.

Желтый цвет.

Желтая строка монтирует виртуальную файловую систему procfs к директории /proc. Это стандартная процедура ОС, поэтому лучше ее не трогать.

Синий цвет.

Синяя строка присоединяет корневой раздел с параметрами notail,relatime (значение параметров будет рассмотрено ниже). Это тоже лучше не трогать.

Зеленый цвет.

Зеленая строка монтирует раздел /home с параметром relatime.

Красный цвет.

Серый цвет.

Серые строки задают параметры user,noauto,exec,utf8 для ручного (параметр noauto) монтирования CD/DVD-приводов.

Черный цвет.

Черные строки задают параметры ручного монтирования floppy-диска.

Столбцы конфигурационного файла fstab

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

UUID=b60b8731-9ff7-2238f302e592 / reiserfs notail,relatime 0 1

Желтое поле.

В желтом поле находятся названия или универсальные идентификаторы устройств.

Обозначение раздела жесткого диска в Linux может представляться двумя способами: названием устройства (/dev/sda1, /dev/sdb1 и т.д.) или универсальным идентификатором (UUID). В линуксе эти оба обозначения взаимозаменяемы.

В нашем примере, устройство /dev/sda1 и устройство UUID=b60b8731-9ff7-463f-a32f-2238f302e59 2 одно и то же. UUID назначается операционной системой автоматически при установке. Предпочтительнее в файле fstab использовать обозначение устройств по UUID, так как при обновлениях операционной системы могут измениться названия устройств (к примеру /dev/sda1 может изменить название на /dev/sdb1).

Просмотреть присвоенные устройству UUID можно командой:

Синее поле.

В синем столбике отображены точки монтирования. Точка монтирования — это директория, где нужно искать данное устройство. В нашем примере, чтобы просмотреть содержимое раздела жесткого диска /dev/sda3 нужно открыть директорию /home.

Зеленое поле.

В зеленом столбике описаны типы файловых систем.

Жесткий диск:

  • ext2, ext3, ext4;
  • raserfs;
  • xfs;
  • ntfs (возможно ntfs-3g);
  • fat32;
  • vfat (это fat16).

USB-накопитель:

  • auto (автоматическое распознавание файловой системы);
  • ntfs (возможно ntfs-3g);
  • fat32;
  • vfat (это fat16).

CD/DVD-привод:

  • auto (автоматическое распознавание файловой системы);
  • iso9660,udf.

Floppy-привод:

  • auto (автоматическое распознавание файловой системы);
  • vfat (это fat16);
  • fat32;
  • ext2, ext3, ext4.

Красное поле.

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

Серое поле.

Серое поле указывает на включение/исключение устройства хранения информации в список резервного копирования программы DUMP, если последняя используется.

0 — не выполнять резервное копирование; 1 — выполнять резервное копирование.

Черное поле.

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

0 — раздел не проверяется; 1 — раздел проверяется первым; 2 — раздел проверяется вторым и т.д.

Как автоматически подключить раздел​ NTFS в Linux

    Просматриваем все доступные разделы:

$ sudo fdisk -l
Диск /dev/sda: 160.0 ГБ, 160041885696 байт
255 heads, 63 sectors/track, 19457 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x815aa99a

Устр-воЗагрНачалоКонецБлокиIdСистема
/dev/sda1*1478838459578+7HPFS/NTFS
/dev/sda26668194571027356755Расширенный
/dev/sda3478950311951897+82Linuxсвоп / Solaris
/dev/sda4503266671314117083Linux
/dev/sda566681945710273564083Linux
Пункты таблицы разделов расположены не в дисковом порядке

4.1 На первое место ставим UUID требуемого раздела жесткого диска: 4.2 На второе место выбираем и ставим точку монтирования, допустим будет /home/windows: 4.4 Далее выбираем из таблицы параметры, с которыми хотим примонтировать раздел: UUID=D45A39A15A3980F2 /home/windows ntfs rw,notail,relatime 4.5 Резервное копирование этого раздела программой dump делать нам не нужно, поэтому ставим далее 0: UUID=D45A39A15A3980F2 /home/windows ntfs rw,notail,relatime 0 4.6 Проверка раздела на ошибки делать тоже не будем, поэтому тоже 0: UUID=D45A39A15A3980F2 /home/windows ntfs rw,notail,relatime 0 0

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

mount -t ntfs-3g -o rw,flush /dev/ххх /mnt/

где:
/dev/ххх - раш раздел (sdb, sdc. )
/mnt/ - точка монтирования
вот и все. Диск смонтирован, файлы имеют все необходимые права)

NTFS-3G is an open source implementation of Microsoft NTFS that includes read and write support. NTFS-3G developers use the FUSE file system to facilitate development and to help with portability.

Contents

Installation

Manual mounting

Two options exist when manually mounting NTFS partitions. The traditional:

The mount type ntfs-3g does not need to be explicitly specified in Arch. The mount command by default will use /usr/bin/mount.ntfs which is symlinked to /usr/bin/ntfs-3g after the ntfs-3g package is installed.

The second option is to call ntfs-3g directly:

See ntfs-3g(8) for the available options.

Formatting

Warning: As always, double check the device path. Note: -Q speeds up the formatting by not zeroing the drive and not checking for bad sectors.

Configuring

Your NTFS partition(s) can be setup to mount automatically, or pre-configured to be able to mount in a certain way when you would like them to be mounted. This configuration can be done in the static filesystem configuration (fstab) or by the use of udev rules.

Default settings

Using the default settings will mount the NTFS partition(s) at boot. With this method, if the parent folder that it is mounted upon has the proper user or group permissions (e.g. /run/media/<username>/), then that user or group will be able to read and write on that partition(s).

Linux compatible permissions

Permissions on a Linux system are normally set to 755 for folders and 644 for files. It is recommended to keep these permissions in use for the NTFS partition as well if you use the partition on a regular basis. The following example assigns the above permissions to a normal user:

Alternatively, if the Windows permissions do matter to you, you can use the ntfsusermap(8) command to map Windows users to Linux ones. ntfs-3g will handle the translation of these permissions.

Allowing group/user

In /etc/fstab you can also specify other options like those who are allowed to access (read) the partition. For example, for you to allow people in the groupid group to have access:

By default, the above line will enable write support for root only. To enable user writing, you have to specify the user who should be granted write permissions. Use the uid parameter together with your user id to enable user writing:

If you are running on a single user machine, you may like to own the file system yourself and grant all possible permissions:

Basic NTFS-3G options

umask umask is a built-in shell command which automatically sets file permissions on newly created files. For Arch Linux, the default umask for root and user is 0022. With 0022 new folders have the directory permissions of 755 and new files have permissions of 644. You can read more about umask permissions here. fmask and dmask Like umask but defining file and directory respectively individually. noauto If noauto is set, NTFS entries in /etc/fstab do not get mounted automatically at boot. uid The user id. This allows a specific user to have full access to the partition. Your uid can be found with the id command.

The following option is specific to ntfs-3g only:

windows_names prevents files, directories and extended attributes to be created with a name not allowed by windows.

Allowing user to mount

By default, ntfs-3g requires root rights to mount the filesystem if it is a block device, even with the user option in /etc/fstab . See ntfs-3g-faq for details. The user option in the fstab is still required.

  • The ntfs-3g package does not have internal FUSE support. Rebuild the package using ABS to enable FUSE support.
    • The full explanation is that "user" and "users" work via a setuid mount not dropping its setuid privilege so that the block device can be used without root. However, ntfs-3g has a hard-coded restriction in ntfs-3g that bails on setuid if an external libfuse is used.
    • There is no good technical reason for not allowing setuid for external FUSE besides a mistrust of the library. This patch removes the said restriction.

    For non-blockfiles like normal images, ntfs-3g on the command-line should work out-of-the-box with normal user privileges as the underlying FUSE calls are redirected to the setuid-root fusermount when direct kernel interaction is unavailable.

    Resizing NTFS partition

    Note: Please ensure you have a backup before attempting this if your data is important!

    Most systems that are purchased already have Windows installed on it, and some people would prefer not wipe it off completely when doing an Arch Linux installation. For this reason, among others, it is useful to resize the existing Windows partition to make room for a Linux partition or two. This is often accomplished with a Live CD or bootable USB thumb drive.

    For Live CDs the typical procedure is to download an ISO file, burn it to a CD, and then boot from it. InfraRecorder is a free (as in GPL3) CD/DVD burning application for Windows which fits the bill nicely. If you would rather use a bootable USB media instead, see USB flash installation media for methods to create bootable USB stick.

    There are a number of bootable CD/USB images avaliable. This list is not exhaustive, but is a good place to start:

    Note that the important programs for resizing NTFS partitions include ntfs-3g and a utility like (G)parted or fdisk, provided by the util-linux package. Unless you are an "advanced" user it is advisable to use a tool like GParted to perform any resize operations to minimize the chance of data loss due to user error.

    If you already have Arch Linux installed on your system and simply want to resize an existing NTFS partition, you can use the parted and ntfs-3g packages to do it. Optionally, you can use the GParted GUI after installing the GParted package. At the core of the resizing is the ntfsresize(8) command.

    Troubleshooting

    Compressed files

    When mounting an NTFS filesystem for Windows 10, and reading files or directories, you may

    1. see broken symbolic links to 'unsupported reparse point', or
    2. see the error message cannot access some_file: Input/output error (in this case you see Could not load plugin /usr/lib64/ntfs-3g/ntfs-plugin-80000017.so: Success in the journal).

    The reason for this are NTFS reparse points, and that NTFS-3G does not support some types of reparse points by default. NTFS-3G plugins may be used to provide compatibility with a part of the features defined by the following reparse points

    • System compression
    • Deduplicated files
    • OneDrive files

    See this page for further details.

    System compression a.k.a. "Compact OS" compresses certain files. There are two possible workarounds for System compression.

    You may install the NTFS-3G plugin ntfs-3g-system-compression AUR . Currently only reading is supported by this plugin, but not writing, i.e. creating or updating files is not supported.

    Alternatively, disable the System compression feature in Windows 10

    Damaged NTFS filesystems

    If an NTFS filesystem has errors on it, NTFS-3G will mount it as read-only. To fix an NTFS filesystem, load Windows and run its disk checking program, chkdsk.

    Note that ntfsfix can only repair some errors. If it fails, chkdsk will probably succeed.

    To fix the NTFS file system, the device must already be unmounted. For example, to fix an NTFS partition residing in /dev/sda2 :

    If all went well, the volume will now be writable.

    Metadata kept in Windows cache, refused to mount

    When dual booting with Windows 8 or 10, trying to mount a partition that is visible to Windows may yield the following error:

    The problem is due to a feature introduced in Windows 8 called "fast startup". When fast startup is enabled, part of the metadata of all mounted partitions are restored to the state they were at the previous closing down. As a consequence, changes made on Linux may be lost. This can happen to any NTFS partition when selecting "Shut down" or "Hibernate" under Windows 8 or 10. Leaving Windows by selecting "Restart", however, is apparently safe.

    To enable writing to the partitions on other operating systems, be sure fast startup is disabled. This can be achieved by issuing as an administrator the command:

    You can check the current settings on Control Panel > Hardware and Sound > Power Options > System Setting > Choose what the power buttons do. The box Turn on fast startup should either be disabled or missing.

    Deleting Windows hibernate metadata

    As an alternative to above clean shutdown method, there is a way to completely destroy NTFS metadata that was saved after hibernating. This method is only feasible if you are not able or unwilling to boot into Windows and shut it down completely. This is by running ntfsfix provided by ntfs-3g.

    Warning: Please note that this method means that the saved Windows session will be completely lost. Use this option under your own responsibility.

    Mount failure

    Windows mount failure

    Windows will not recognize a NTFS partition that does not have a corresponding partition type. A common pitfall when creating an NTFS partition to work with Windows is forgetting to set the partition type as NTFS. See fdisk or one of the partitioning tools.

    Beta features and releases

    There is a web page on "advanced features", maintained by Jean-Pierre André, one of the NTFS-3G authors. It provides:

    • Documentation on handling of NTFS features in NTFS-3G, including:
      • Symlinks, junctions, and other reparse points
      • Extended attributes (xattrs) as an interface for ADS streams and special NTFS attributes
      • Security and permission, including POSIX mapping and ACL mapping

      Information provided in the documentation apply to the Tuxera version (2017.3.23) too. The system-compression and dedupe plugins work with the Tuxera version, but the onedrive plugin requires a tweak of the plugin-loading system only available in advanced releases.

      В этой статье пойдет речь о разреженных файлах. Расскажем об их недостатках и достоинствах, какие файловые системы поддерживают такие файлы. А также, как создавать или преобразовать их из обычных. Статья для новичков.

      image



      Разреженные – это специальные файлы, которые с большей эффективностью используют файловую систему, они не позволяют ФС занимать свободное дисковое пространство носителя, когда разделы не заполнены. То есть, «пустое место» будет задействовано только при необходимости. Пустая информация в виде нулей, будет хранится в блоке метаданных ФС. Поэтому, разреженные файлы изначально занимают меньший объем носителя, чем их реальный объем.

      image

      Этот тип поддерживает большинство файловый систем: BTRFS, NILFS, ZFS, NTFS, ext2, ext3, ext4, XFS, JFS, ReiserFS, Reiser4, UFS, Rock Ridge, UDF, ReFS, APFS, F2FS.

      Все эти ФС полностью поддерживают такой тип, но в тоже время не предоставляют прямой доступ к их функциям по средством своего стандартного интерфейса. Управлять их свойствами можно только через команды командной строки.

      Разница между сжатием и разреженными файлами

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

      Преимущества и недостатки

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

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

      Еще один из недостатков — это то, что нельзя скопировать или создать такой файл, если его номинальный размер превышает доступный объем свободного пространства (или ограничения размера квоты, налагаемые на учетные записи пользователей). Например, если исходный размер (со всеми нулевыми байтами) составляет 500 МБ, а для учетной записи пользователя, используемой для его создания, существует предел квоты в 400 МБ. Это приведет к ошибке даже если фактическое дисковое пространство, занимаемое им, составляет всего 50 МБ на диске.

      Что касается накопителей, на которых хранятся такие данные, то они также подвержены фрагментации, поскольку файловая система будет записывать данные в разреженные файлы по мере необходимости. Со временем это может привести к снижению производительности. Кроме того, некоторые утилиты для управления дисками могут неточно отображать объем доступного свободного места. Когда файловая система почти заполнена, это может привести к неожиданным результатам. Например, могут возникать ошибки «переполнения диска», когда данные копируются поверх существующей части, которая была помечена как разреженная.

      Создаем разреженный файл в Windows

      Для этого в ОС Windows будем использовать командную строку. В поиске пишем cmd и запускаем ее от имени администратора.

      В Windows для управления такими данными используют программу fsutil (утилита файловой системы). При выполнении create, по умолчанию файл создается самый обычный. Переходим в папку где нужно его создать и вводим:

      fsutil file createnew sparse-file 1000000000

      Где sparse-file – имя, а в конце указан его размер в байтах.

      image

      Чтобы присвоить файлу значение «разреженный» вводим:

      fsutil sparse setflag sparse-file

      image

      Для удаления этого флага выполняется следующая команда:

      fsutil sparse setflag sparse-file 0

      image

      И чтобы снова присвоить атрибут:

      fsutil sparse setflag sparse-file

      fsutil sparse queryflag sparse-file

      image

      Сам по себе атрибут ещё не приводит к экономии дискового пространства. Для этого нужно разметить пустую область, которая будет освобождена внутри.

      Для пометки пустой области введите:

      fsutil sparse setrange sparse-file 0 1000000000

      image

      В конце указывается смещение и длина, они задаются в байтах. В моем случае от нуля до 1Гб.

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

      Для того чтобы убедиться, что файлу присвоен данный атрибут выполним layout

      fsutil file layout sparse-file

      image

      Такой Атрибут можно задать любому файлу. Просто выполнив эту команду с его именем и задать нужный вам размер.

      В свойствах созданного ранее файла можно увидеть, что при размере в 1Гб. файл занимает на диске 0 байт.

      Данный набор команд подходит для всех файловых систем Windows, которые поддерживают данный тип данных (NTFS, ReFS и т.д.).

      Как создать разреженный файл в Linux

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

      Здесь можно использовать команду dd, либо truncate.

      Первая команда имеет следующий вид:

      dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G

      Где file-sparse – имя, и в конце указан его размер, можно задать в байтах, мегабайтах и т.д.

      image

      Вторая команда проще, она имеет такой вид:

      truncate -s2G file-sparse

      Где значение s – указывает размер, после которого идет имя.

      image

      По сравнению с Windows, в Linux при создании такого файла одной из команд, он будет «разреженным» по умолчанию.

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

      cp --sparse=always ./025.jpg ./0251.jpg

      Где 025.jpg – первое имя обычного.

      0251.jpg – и второе имя разреженного.

      image

      Как увеличить

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

      dd if=/dev/zero of=025.jpg bs=1 count=0 seek=2G

      Это увеличит его размер до 2 Гб.

      image

      Для проверки размера выполним такую команду:

      du -h --apparent-size 025.jpg

      image

      Разреженные файлы в ApFS

      По сути, данный набор команд подходит и для файловой системы apple – ApFS, так как Linux и MacOS используют в своей основе архитектуру ядра Unix, они обе предоставляют доступ к Unix-командам и оболочке Bash.

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

      В MacOS Catalina работает только первая команда, и размер нужно указывать в байтах, иначе в результате команда выведет ошибку.

      sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000

      image

      Файловая система ApFS при соблюдении определенных условий создает разреженные файлы по умолчанию, поэтому для увеличения любого файла можно использовать команду:

      dd if=/dev/zero of=187.jpg bs=1 count=0 seek=500000000

      Зададим размер, к примеру, 500Мб, в MacOS размер нужно указывать в байтах.

      В свойствах можно увидеть, что его размер увеличился до 500 Mb.

      Заключение

      Перед использованием этого функционала в любых ОС вам крайне важно узнать все их преимущества и недостатки. Знание этих особенностей гарантировано позволит вам избежать потенциальных проблем в будущем.

      Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике. А также зайдите на наш Youtube канал, там собраны более 400 обучающих видео.

      Проверим устройства:

      Находим нашу флешку, она определилась как:

      Диск /dev/sdc: 8004 МБ, 8004304896 байт
      212 головок, 46 секторов/треков, 1603 цилиндров, всего 15633408 секторов
      Units = секторы of 1 * 512 = 512 bytes
      Размер сектора (логического/физического): 512 байт / 512 байт
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Идентификатор диска: 0x2cac0577

      Отмонтируем устройство, т.к. Ubuntu автоматически поключила её:

      Полный список команд доступен с ключём m :

      Команда (m для справки): m
      Действие команды
      a переключение флага загрузки
      b редактирование метки диска bsd
      c переключение флага dos-совместимости
      d удаление раздела
      l список известных типов файловых систем
      m вывод этого меню
      n добавление нового раздела
      o создание новой пустой таблицы разделов DOS
      p вывод таблицы разделов
      q выход без сохранения изменений
      s создание новой чистой метки диска Sun
      t изменение id системы раздела
      u изменение единиц измерения экрана/содержимого
      v проверка таблицы разделов
      w запись таблицы разделов на диск и выход
      x дополнительная функциональность

      Проверим, какие разделы есть:

      Команда (m для справки): p
      Диск /dev/sdc: 8004 МБ, 8004304896 байт
      212 головок, 46 секторов/треков, 1603 цилиндров, всего 15633408 секторов
      Units = секторы of 1 * 512 = 512 bytes
      Размер сектора (логического/физического): 512 байт / 512 байт
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Идентификатор диска: 0x2cac0577

      Устр-во Загр Начало Конец Блоки Id Система
      /dev/sdc1 2048 15633407 7815680 83 Linux

      Удалим его, и создадим новый:

      Команда (m для справки): d
      Выбранный раздел 1

      Посмотрим на него:

      Команда (m для справки): p
      Диск /dev/sdc: 8004 МБ, 8004304896 байт
      212 головок, 46 секторов/треков, 1603 цилиндров, всего 15633408 секторов
      Units = секторы of 1 * 512 = 512 bytes
      Размер сектора (логического/физического): 512 байт / 512 байт
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Идентификатор диска: 0x2cac0577

      Устр-во Загр Начало Конец Блоки Id Система
      /dev/sdc1 2048 15633407 7815680 83 Linux

      Команда (m для справки): v
      Раздел 1: цилиндр 1021 больше, чем максимум 1020
      Раздел 1: предыдущие секторы 15633407 противоречат суммарному значению 15631606
      Remaining 2047 unallocated 512-byte sectors

      Команда (m для справки): w
      Таблица разделов была изменена!

      Вызывается ioctl() для перечитывания таблицы разделов.
      Синхронизируются диски.

      Теперь у нас есть раздел /dev/sdc1 .

      Записываем изменения и выходим:

      Команда (m для справки): w
      Таблица разделов была изменена!

      Вызывается ioctl() для перечитывания таблицы разделов.
      Синхронизируются диски.

      Читайте также: