Если у вас на компьютере установлены две операционные системы: 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 для чтения и записи:
Использование нескольких систем на одном компьютере — очень часто практикуется новичками. Обмен файлами между двумя системами — нормальное явление, а поэтому вы очень часто будете сталкиваться с этой ошибкой. Но эта статья поможет вам решить ее раз и навсегда. Если остались вопросы, пишите в комментариях!
В чём главное отличие 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) и делать это со всем тщанием, а потом уже со спокойной душой запускать их, не думая ни о чём. Но вот это уже точно — совсем другая история.
Contents
- General Considerations
- Using the File Manager
-
File System Differences
- NTFS
- FAT32
-
Configuring /etc/fstab
- Preface
- Automatic Configuration
- Manual Configuration
- Other Resources
- Footnote
Ubuntu is capable of reading and writing files stored on Windows formatted partitions. These partitions are normally formatted with NTFS, but are sometimes formatted with FAT32. You will also see FAT16 on other devices.
General Considerations
Ubuntu will show files and folders in NTFS/FAT32 filesystems which are hidden in Windows. Consequently, important hidden system files in the Windows C:\ partition will show up if this is mounted. Since it is all-too-easy to accidentally modify or delete files which are essential for Windows, it is advisable to mount your Windows C:\ partition as seldom as possible, preferably not at all, or read-only by configuring /etc/fstab (see below). If you have data which you want to access regularly from both Windows and Ubuntu, it is better to create a separate data partition for this, formatted NTFS.
Whether you write to your Windows C:\ partition or a shared NTFS data partition, be aware that if you are using Windows 7, and Windows 7 is in a hibernated state when you write to the NTFS partition from Ubuntu, you will lose all your changes. This is because when Windows 7 is hibernated it writes the system state to a file stored on disk and restores from that file when the system is re-awakened, thus restoring the whole fileystem to a state before any changes made from Ubuntu. In Windows 7 you must avoid using hibernation. With Windows 8, the situation is more complex in that, by default, it uses a hybrid hibernation/shutdown when you shut the system down. Any changes made by Ubuntu will be lost when you reboot into Ubuntu.
With both Windows 7 and Windows 8 (when installed to a legacy mbr partition table) there is usually a 100-200MB boot partition labelled «SYSTEM». Do not mount it — you do not need to. Similarly it is highly advisable to leave any recovery partitions unmounted.
Using the File Manager
For those using a desktop version of Ubuntu, or one of its offical derivatives, the easiest and quickest way of mounting NTFS or FAT32 partitions is from the file manager: Nautilus in Ubuntu, Thunar in Xubuntu, Dolphin in Kubuntu and PCManFM in Lubuntu. Simply look in the left pane of the file manager for the partition you wish to mount and click on it — it will be mounted and its contents will show up in the main pane. Partitions show with their labels if labelled, or their size if not.
Unless you require your Windows partition — or a NTFS/FAT32 partition for data shared with Windows — mounted every time you boot up for one of the reasons given below, mounting from the file manager in this way should suffice.
If you are using a Wubi version of Ubuntu and you wish to browse the host partition, you do not need to mount it — it is mounted already in the «host» folder. Click on «File System» in the left pane of the Nautilus file browser and then open the host folder which you will see in the main pane.
File System Differences
For a more in depth analysis, see LinuxFilesystemsExplained, but here are some basics:
- Windows 7, Vista, XP, 2000, older NT systems, and Windows Server 2003 and 2008 are formatted with NTFS. In rare cases, OEM manufacturers have pre-installed Windows XP and Windows 2000 to FAT32 filesystems.
- Older versions of Windows such as Windows ME, 98, and 95 are formatted with FAT32.
- Flash drives, such as a USB thumb drive or a camera’s flash card are typically formatted as FAT16. Some Flash drives are formatted with Microsoft’s proprietary exFAT file system.
In Windows, you can check which filesystem your partition is formatted with by right-clicking the partition in Windows Explorer and selecting Properties. In Ubuntu, run from terminal:
-
sudo fdisk -lu
NTFS
The ntfs-3g driver is used in Linux-based systems to read from and write to NTFS partitions.
NTFS (New Technology File System) is a file system developed by Microsoft and used by Windows computers (Windows 2000 and later). Until 2007, Linux distros relied on the kernel ntfs driver which was read-only. The userspace ntfs-3g driver now allows Linux-based systems to read from and write to NTFS formatted partitions.
The ntfs-3g driver is pre-installed in all recent versions of Ubuntu and healthy NTFS devices should work out of the box without further configuration. In Ubuntu versions 11.10 and later the ntfs-3g package included the functionality previously provided by ntfsprogs. Trying to install ntfsprogs in 11.10 (and possibly in 12.04) will cause the package-manager to ask if you wish to remove ntfs-3g. Users who have installed ntfsprogs and failed to notice the message from the package manager have unintentionally uninstalled ntfs-3g, after which the system falls back to the read-only kernel ntfs driver. Loss of the ntfs-3g driver for similar reasons has also been reported when upgrading from 11.04 to 11.10. If you are experiencing inability to write to a NTFS formatted partition or device, check whether or not the ntfs-3g package is installed.
FAT32
The vfat driver is used in linux to read and write FAT32 and FAT16 partitions.
Configuring /etc/fstab
Preface
If you require one or more of your Windows partitions mounted automatically during bootup, it is necessary to add one line to the file /etc/fstab for each partition that is to be mounted. Some reasons for mounting partitions by means of /etc/fstab, rather than relying on the file manager, include:
- Convenience.
- Where more than one user account is in use during a session. Partitions mounted from one user account by means of the file manager are not accessible to the other account(s).
- Where libraries have been set up in applications such as Banshee or Rhythmbox (for music) or Shotwell (for photos). If those libraries contain files on partitions mounted by means of the file manager, an error will occur in a subsequent session if the partition is not mounted first.
-
Where more advanced or special mount options are needed. Three working configurations for different needs are given below, but anything more advanced is beyond the scope of this wiki page. The NTFS-3G manual gives a list of mount options suitable for NTFS filesystems.
Automatic Configuration
Although there are a number of GUI applications available from the Ubuntu Software Centre, none of these can be recommended at the time of this writing, unfortunately. They are obsolete and unmaintained and can all cause problems. Two examples are ntfs-config and PySDM. (PySDM is no longer in the repository with effect from 12.10.) If you find a recommendation anywhere for either of these applications, it is likely to be an old one, and should not be followed. At this time it is advisable to configure /etc/fstab manually.
Manual Configuration
First, you need to find the device locations of the partition(s) you wish to mount. Open a terminal and run:
-
sudo blkid
For illustration purposes, an example output from a computer setup with a Vista/Ubuntu dual-boot and shared NTFS data partition is shown here:
-
/dev/sda1: LABEL="Recovery" UUID="B23613F43613B875" TYPE="ntfs" /dev/sda2: LABEL="Windows" UUID="38CE9483CE943AD8" TYPE="ntfs" /dev/sda3: LABEL="Data" UUID="519CB82E5888AD0F" TYPE="ntfs" /dev/sda5: UUID="00d7d951-2a35-40fd-8e5d-411bb824ff3b" TYPE="swap" /dev/sda6: LABEL="Ubuntu" UUID="6044b1d0-208e-4ab3-850d-03a92e1516fc" TYPE="ext4"
The first three partitions, all NTFS, are the ones that concern us here. There are no FAT32 partitions. In this instance, all three NTFS partitions have partition labels, which makes it easier to identify the purpose of each. If your blkid output does not include partition labels, this means that the partitions do not have labels and you will have to determine which partition you wish to mount by another means. Of the three NTFS partitions, we are going to configure /etc/fstab with only the third, the Data partition. Partition /dev/sda1 is the OEM manufacturer’s recovery partition and should be left unmounted, or as described below. Partition /dev/sda2 is the Windows C:\ partition and is best not included in /etc/fstab for the reasons described above, or mounted read-only — see below.
You will now need to create a mountpoint for each NTFS partition that you wish to mount by means of /etc/fstab. In our illustration we are going to add one entry only for /dev/sda3. From a terminal:
-
sudo mkdir /media/Data
In this case we have created a mountpoint with the same name – Data – as the partition label. You may use (almost) any string you wish.
Before editing /etc/fstab directly, it is a good idea to make a backup. From a terminal:
-
sudo cp /etc/fstab /etc/fstab.orig
Now open /etc/fstab in a text editor with root privileges. In Ubuntu:
-
gksudo gedit /etc/fstab
In Kubuntu:
-
kdesudo kate /etc/fstab
In Xubuntu or Lubuntu:
-
gksudo leafpad /etc/fstab
For a general-purpose read-write mount, add this line to the end of /etc/fstab:
-
UUID=519CB82E5888AD0F /media/Data ntfs-3g defaults,windows_names,locale=en_US.utf8 0 0
Replace the UUID with the one relevant for your partition as shown in your blkid output. “519CB82E5888AD0F” will not work for you.
Also, substitute your mountpoint for “/media/Data”. In case you have a blank space in the name of the mountpoint you want to use like «New Volume» instead of «Data» located in «/media» use «/media/New\040Volume». The space character is created by using «\040» in the fstab.
You will also need to change the “locale=en_US.utf8” option to one suitable for your location and language if you are not in the USA. You can determine your locale with this terminal command:
-
locale
Or for a list of all locales available on your system:
-
locale -a
Now save your edited /etc/fstab and close the text editor. The partition(s) you have configured will be mounted the next time you reboot, but to mount them now:
-
sudo mount -a
Two special cases
Sample /etc/fstab lines are suggested for two special cases.
Option 1 — for mounting read-only access. For example, this would be suitable for mounting your Windows C:\ partition if you need to access it. Modify the line below with your UUID and mountpoint:
-
UUID=519CB82E5888AD0F /media/Data ntfs defaults,umask=222 0 0
Option 2 — to ensure that Ubuntu does not mount the partition and also disables graphical mounting from the file manager. For example, you may wish to ensure that recovery and system partitions are never inadvertently mounted and do not appear in the file manager. In this case you need to create a mountpoint in /mnt, not /media. Modify the line below with your UUID and mountpoint:
-
UUID=519CB82E5888AD0F /mnt/Data ntfs noauto,umask=222 0 0
Note: with these mount options, the partition does not appear in the Devices list in the left pane of Nautilus (the Ubuntu file manager), but it still appears in Dolphin, the Kubuntu File Manager. Clicking on the partition in Dolphin causes the display of an error message. This solution is less elegant in Dolphin than with Nautilus, but the desired effect is achieved — the partition cannot be mounted.
If you need to revert to the original configuration:
-
sudo mv /etc/fstab.orig /etc/fstab sudo umount /media/<mountpoint>
Substitute your mountpoint in the second line.
FAT32 Partition
FAT32 partitions are mostly only found in older systems. If you are creating a partition to be used for data to be shared between Windows and Ubuntu, it is better to choose NTFS. Should you have a FAT32 partition which you need to mount using /etc/fstab, this will work to mount it read-write:
-
UUID=<UUID> /media/<mountpoint> vfat defaults,user,exec,uid=1000,gid=100,umask=000 0 0
Replace <UUID> with the UUID that blkid reveals for your partition, and adjust for your mountpoint. These mount options will make all files in the partition executable. If you have other needs, you will need to modify the options, but this is beyond the scope of this wiki page.
Other Resources
-
ntfs-3g homepage
-
Fstab
-
LinuxFilesystemsExplained
-
How to fstab
-
CategoryBootAndPartition
This page has recently been subject to significant revision. If you have any comments about current content, or suggestions for further additions or edits, please head over to this Ubuntu forums discussion thread so that we can co-ordinate our efforts.
Last Updated :
15 Apr, 2025
If you’re looking to mount Windows drives in Ubuntu, this guide will walk you through the steps. Whether you want to access files on a Windows partition or need to read Windows drives in Ubuntu, mounting them is essential for seamless data sharing between operating systems. Ubuntu makes it easy to mount Windows partitions, including those with the NTFS file system, allowing you to work on your files across both platforms effortlessly.
How to Mount Windows Drives in Ubuntu?
Following are the step wise instructions to access windows drives in Ubuntu (Any Version)
Step 1: Open terminal and type the following command
sudo ntfsfix error mounting location
Step 2: It will ask for system password, enter password and again press enter.
Step 3: It will take some seconds to process command and at the end shows the message like “NTFS partition was processed successfully.”
Step 4: Again click on windows drive, now you are allow to access clicked drive.
For Example:
Step 1: Type sudo ntfsfix /dev/sda3 and press enter as shown in below picture then it will ask for system password, enter password and again press enter.
Step 2: It will take some seconds to process command and at the end shows the message like “NTFS partition was processed successfully”, as shown in below picture.
By following this guide, you can easily mount Windows drives in Ubuntu and access your files from both systems.
Conclusion
Being able to mount Windows drives in Ubuntu enhances your system’s flexibility, allowing you to easily share and manage files between Windows and Linux environments. By following these simple steps to mount Windows partitions and access your NTFS drives, you’ll be able to create a more integrated workflow. Whether you’re looking to automatically mount Windows drives in Ubuntu or manually control the process, this guide provides the necessary tools to get the job done.
Also Read
- Linux-Command Archives
- How to install Python on Linux?
- How to Make Custom Commands for Linux Terminal?
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
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
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.