Debian не монтирует win разделы

Обновлено: 06.07.2024

Постановка задачи: подключить новый жесткий диск, создать на нём ext4 раздел и смонтировать его через fstab по UUID.

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

1. Создание нового раздела на жёстком диске

Для начала, определим имя свеже-подключённого жесткого диска в системе:

Как видно, новый жёсткий диск доступен под именем /dev/sdb и не имеет еще никаких разделов (Disk /dev/sdb doesn't contain a valid partition table). Исправим это, используя cfdisk (Утилита из пакета gpart, установите её по-необходимости командой apt-get install gpart).

Далее, создадим новый раздел ext4 на нашем новом жёстком диске, который займёт всё доступное место.

По-этапно, создание одного раздела размером на весь жёсткий диск выглядит так, как показано на рисунке ниже:

создание нового раздела с помощью cfdisk

рисунок 1 — создание нового раздела с помощью cfdisk

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

2. Форматирование нового раздела в ext4

Для этого используем утилиту mkfs.ext4 из библиотеки e2fslibs для работы с файловыми системами ext2/ext3/ext4. (По-необходимости, установите пакет с помощью комманды apt-get install e2fslibs)

3. Создание точки монтирования и настройка монтирования в fstab, используя UUID

Ввиду того, что виртуальная машина для разработки имеет один раздел на всё, в нашем, частном случае, появилась необходимость вынести папку /home на новый жесткий диск. Для этого проделаем следующие операции от суперпользователя (root):

Примечание: не ребутайтесь до завершения всех операций, дабы исключить возможный гемор. Кстати, в ином, чисто академическом случае — просто создайте произвольную папку mkdir /newhdd и настраивайте монтирование в неё.

Естественно, для того, чтобы настроить монтирование по UUID (Universally Unique Identifier), нам необходимо узнать этот код для нового раздела. Для этого используем утилиту blkid (пакет libblkid1):

Непосредственно для монтирования раздела "на-горячую" выполним команду:

И напоследок вернём содержимое папки /oldhome на старое место:

Примечание: укажите именно mv /oldhome/* /home при переносе содержимого папки, чтобы перенести именно содержимое папки, а не её саму. Обязательно после переноса проверьте права на папки пользователей внутри корневой папки home, иначе у Вас могут возникнуть проблемы со входом в систему при последующей перезагрузке (доступ к папкам .ssh, если Вы используете авторизацию по ключам).

После успешного переноса, пустую папку можно удалить:

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

Всё настроено верно и проблема со свободным местом успешно решена. Теперь можно, перекрестясь, перезапустить систему и убедиться что всё работает как должно!

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

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

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


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

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

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, затем вставьте следующую строку в конец опций монтирования внизу окна:

Нажмите 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 для чтения и записи:


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


в файловом менеджере хоть включено автомонтирование ?

Тебе говорят, что твой маздай is inconsistent, для начала научи его правильно выключаться.

Нужно посмотреть, какие /dev/sd* вообще есть.

Это моя третья машина на Debian 8.2, я везде его включаю. Сейчас перепроверил - включено.

Какой маздай на флешке? Она пуста как лист бумаги, ё-моё.

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

Во-вторых, в Debian поставь udevil и радуйся.

На ней есть NTFS, она уже не пуста.

sda1 (1, 2, 5, 6 - загрузочный, общий (мастдай, дебьян)). Черт с ними, у меня нет необходимости на виндовый раздел лазить, у меня с флешками проблема.


В глаза, небось, долбишься?

NTFS is either inconsistent, or there is a hardware fault

NTFS у тебя сломанный, умник, ФС проверь.

Да-а-а, сломанный NTFS, только его сломанным видит один компьютер, остальные прекрасно монтируют и открывают. Даже отформатировал - без толку.

Забей флешку нулями и создай ФС ext4 в Linux и проблема уйдет. Мысы, похоже, как всегда, внесла какие-то изменения в NTFS, а их еще не отреверсили и в ntfs-3g их еще не учли.

Не просто так говорят, что флешки дохнут без размаунта и под виндой. Дошла суть?

Ну так все флешки прекрасно читаются на других машинах с Debian 8.2, только на этом компьютере косяк. И ext4 не будет читаться на виндовых машинах, которых 95%. Флешки-то и нужны для того, чтобы между компьютерами файлы носить, так что этот вариант не подходит. Проблема кроется где-то в конкретно этом установленном Debian. Попробую установить новую систему поверх этой без форматирования раздела, чтобы системные файлы сбросились, а home не затерся.

Сложно != правильно. Синдрома утенка у меня нет, я Android не пользуюсь.

Дохнут они в теории, и я не просто так скажу, что моя флешка на 256 Мб, купленная лет 12 назад и тысячи раз вынутая без размаунта прекрасно работает по сей день. У кого там что дохнет - думаю, сдохнет и с размаунтом.

И ext4 не будет читаться на виндовых машинах,

Ну это уже не наша проблема. Не хочешь ext4 — юзай exFAT, с ним проблем поменьше.


Я просто не понимаю, почему нельзя было все сделать по-человечески: каждый раздел - отдельная файловая система (C:, D: и так далее - идеальный подход)

Ну-ну. а ежели этих разделов больше 26? буквы откуда выковыривать будете? :-)

Нифига вы не Debian-user

Belen ★★ ( 27.10.15 17:48:48 )
Последнее исправление: Belen 27.10.15 17:49:36 (всего исправлений: 1)

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

Проблема-то в том, что флешка читается на всех машинах, что на Debian, что на винде. Не читается только на конкретном компьютере, поэтому, если можно, давайте не будем обсуждать эффективность безопасного извлечения и другие интимные темы: мне нужно что-то делать с конкретной системой. Каким-то образом размонтировать все, кроме корня (хотя, оно и так размонтировано все) и смонтировать все как можно более автоматически. udevil, кстати, не помог, даже после перезагрузки и недолгих ковыряний в нем.

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

Версии ntfsprogs и ядра одинаковы на всех машинах?

В этой небольшой заметке я покажу на практическом примере, как работать с дисками в Linux.

Активация диска в Linux

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

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

При подключении нового диска нам нужно:

  • разметить его на разделы
  • отформатировать каждый раздел для создания файловой системы
  • смонтировать диск для возможности записи и чтения данных
  • настроить автоматическое монтирование при включении компьютера

Как узнать имена дисков, как просмотреть все диски в системе

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

Чтобы посмотреть доступные диски, выполните команду:


Как видно из скриншота, имеется диск /dev/nvme0n1. Затем перечислены два устройства /dev/nvme0n1p1 и /dev/nvme0n1p2. По совпадающему части названия nvme0n1 можно понять, что это разделы, на которые разделён диск /dev/nvme0n1.

Также имеется диск /dev/sda, который не разделён ни на какие разделы — именно его я и буду подключать.

Разметка дисков (разделение на разделы) в Linux

В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:


Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Для создания диска выберите Новый:


Введите его размер.

Если нужно, поменяйте тип раздела:


Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись.

Форматирование разделов

Для форматирования в ext4:

Для форматирования в ext3:

Для форматирования в ext2:

Для форматирования в FAT32:

Мой пример (я не стал разбивать диск на разделы):


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

Монтирование и размонтирование дисков

С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount.

Диск подключается к точке монтирования и уже в этой папке можно работать с содержимом диска.

Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.

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

Допустим, я хочу, чтобы новый диск был подключён (смонтирован) к папке /mnt/disk_d. Название можно выбрать любое и точка монтирования необязательно должна быть в директории /mnt/ - можно сделать в домашней папке или в любой другой.

Начинаем с создания директории, в которую будет смонтирован диск:

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

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

Для размонтирования диска используется любая из двух команд:

Автоматическое монтирование диска при загрузке Linux

Диски для монтирования при запуске Linux прописаны в файле /etc/fstab.

Допустим, я хочу при загрузке монтировать диск /dev/sda в директорию /mnt/disk_d/. При этом я хочу чтобы диск был доступен для чтения и записи пользователем. Тогда я создаю каталог — точку монтирования:

Открываю файл /etc/fstab:

и дописываю туда следующую строчку:

В этой строке вам нужно заменить

  • /dev/sda — на диск, который вы желаете смонтировать
  • /mnt/disk_d — на вашу точку монтирования, которую вы выбрали для своего диска.
  • ext4 — на файловую систему вашего диска

Если вы не уверены в файловой системе или её обозначении, то выполните команду:

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

Чтобы ваш пользователь имел доступ к этой папке без необходимости повышать свои привилегии, выполните команду:

Можно более тонко настроить права доступа — например, создав группу, только члены которой будут иметь доступ к диску.

Обратите внимание, что если вы что-то неправильно сделали в файле /etc/fsta, то система не сможет загрузиться в графический интерфейс и вам придётся всё исправлять из консоли. Ссылка на дополнительную инструкцию в конце этой статьи.

Для проверки записей в файле /etc/fstab используйте команду


На скриншоте можно увидеть, что диск с UUID равным 26FC3023FC2FEC2D является недоступным (unreachable). Это может означать, что запись в файле /etc/fstab имеет ошибку. Но в данном случае диск с UUID=26FC3023FC2FEC2D — это съёмный диск, для его монтирования указана опция nofail (не вызывать фатальную ошибку, даже если диск отсутствует), поэтому предупреждение можно проигнорировать.

Для вывода более подробной информации добавьте опцию --verbose:


Все пункты успешно прошли проверку, рассмотрим более подробно записи проблемного диска:

  • /mnt/disk_e — точка монтирования
  • [ ] target exists — целевая папка (точка монтирования), существуют, то есть директория /mnt/disk_e имеется в системе
  • [ ] VFS options: rw — найдена такая опция монтирования как rw, то есть диск монтируется для чтения и для записи. VFS — это опции ядра, системных вызовов. Эти опции одинаковы для всех файловых систем.
  • [ ] FS options: utf8 — найдена опция, специфичная для данной файловой системы. Этой опцией является utf8, то есть для преобразования имён файлов будет использоваться кодировка UTF-8.
  • [ ] userspace options: noauto,nofail — здесь перечислены опции пользовательского пространства. Опция noauto означает не монтировать автоматически, а опция nofail означает не сообщает об ошибках для этого устройства, если оно не существует — эта опция важна для съёмных носителей и сетевых дисков, которые могут отсутствовать во время загрузки компьютера.

Подключение съёмного носителя (флешки, внешнего диска) в Linux

Между прочим, многие дистрибутивы Linux при подключении USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.

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

Съёмные носители можно монтировать через /etc/fstab, для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.

Как просмотреть все диски и точки монтирования

Для этого используйте уже знакомую нам команду:


Как удалить разделы диска

Если вы хотите удалить всё содержимое диска, в том числе его разбивку на разделы, то это делается так:

Откройте диск в gdisk:

Для перехода в экспертный режим там введите

Затем для удаления GPT введите

Дважды согласитесь, чтобы полностью очистить диск.

Перемонтирование диска с правами записи

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

В ней /dev/sdb1 замените на имя вашего раздела.

Если вы столкнулись с ошибкой:

То нужно выполнить команду (замените /dev/sdb1 на ваш раздел):

После этого перемонтируйте диск.

Обратите внимание, что если вы монтируете диск с файловой системой NTFS, то у вас должен быть установлен пакет ntfs-3g, иначе что бы вы не делали, диск будет только для чтения.

Заключение

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

Ещё несколько советов и проблемных случаев рассмотрено в статье «Работа с дисками в BlackArch (монтирование, решение проблем)» - эта статья подходит для всех дистрибутивов, не только BlackArch.

Установленного в системе жесткого диска может быть недостаточно и иногда встает вопрос о добавлении дополнительного носителя. Рассмотрим как смонтировать диск на Virtual Private Server (VPS), Virtual Dedicated Server (VDS) и Standalone Server.

Подготовка.

Перед началом работы следует убедиться существует ли диск в системе. Иногда наличие устройства в BIOS может быть недостаточным. Доступные накопители проверяем командой:


В нашем случае в системе присутствуют 2 диска - sda и sdb, оба по 10 Гб, первый диск системный. Работать будем со вторым диском (sda).

Важно помнить, что Linux системы можно повредить неверно указав диск, например системный. Следует тщательно проверять и перепроверять выбор носителя. На помощь приходит тот факт, что новый диск (из коробки) не имеет файловой системы и разделов.

Разметка диска.

Для разметки диска запустить утилиту fdisk с указанием пути до диска:


При нажатии “m” и подтверждением ввода клавишей Enter, программа предоставит страницу доступных команд:

Так как мы будем создавать простой раздел (не загрузочный), будем использовать все дисковое пространство, нажимаем клавишу “n” и Enter.
Система спросит о типе раздела - выбираем p (primary) - первичный.

Номер раздела - 1

На вопрос о первом и последнем секторе отвечаем нажатием клавиши Enter.

Важно! Если вы желаете создать несколько логических дисков, то в ответе на последний сектор следует указать размер в кило-, мега-, гига-, тера-, петабайтах. Соответственно, если раздел нужен размером в 2 гигабайт, то указываем 2G.

Сохраняем изменения нажатием “w” и подтверждаем выбор с помощью клавиши Ввод.


Форматирование диска.

После выполнения операции описанной выше, в системе будет создано устройство /dev/sdb1 - по своей сути это и есть раздел на диске. Теперь форматируем.

Современный Linux предлагает на выбор несколько вариантов файловых систем. Создание файловой системы происходит выполнением команды mkfs с указанием ключей, либо выполнением одной из программ:

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