Показать статистику
0 голосов
от (580 баллов)

Каждый раз при загрузке Ubuntu получаю сообщение о невозможности смонтировать виндовый раздел. И предлагаются опции - подождать, пропустить или вручную подключить этот виндовый диск. 

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

Вопрос - что с этим делать и как бороться? 

На всякий случай, вот таблица разделов

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    20000727     9999360   83  Linux
/dev/sda2        20002814   478001131   228999169    5  Extended
/dev/sda3   *   478001152   622532407    42265721    7  HPFS/NTFS/exFAT
/dev/sda4       622532608   623143759     1324526   82  Linux swap / Solaris
/dev/sda5        20002816   474051451   228994168   83  Linux
338 просмотров 1 ответов

1 Ответ

0 голосов
от (4.5тыс. баллов)
редактировать от

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

В чем причина этого бага или это все работает или "не работает".

Эта ошибка появляется из-за того что Windows вошла в hybernate режим вместо того, что бы завершить работу и "выключиться" обычным способом. Т.е. скорее всего вы работали на ноуте, закрыли его, а винда по умолчанию систему не погасила, а "заснула".

Когда винда "засыпает", данные такие как содержимое оперативной памяти, состояние системы и прочее сохраняются в одном большом файле hyberfil.sys. Фишка в том, что когда система просыпается, данные из этого файла подтягиваются и все восстанавливается в том виде, как оно работало до спячки. В этом же файле так же указывается через некий системный флаг, что система вошла в гибернацию - так другие ОС, установленные на этом же компе, знают о состоянии вашей винды. 

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

Однако есть небольшая утилита ntfs-3g, которая может безопасно подключить виндовый ntfs раздел в режиме "только для чтения", поскольку утилита умеет считывать флаг состояния из вышеуказанного hiberfil.sys. Собственно, поэтому Nautilus и не может в штатном режиме чтения-записи открыть виндовый раздел, т.к. после гибернации с целью предотвращения потери данных, раздел будет смонтирован в режиме read-only (только для чтения). Т.е. Наутилус рассчитывает что будет режим чтение-запись, а там только чтение.

Как это обойти (для всех версий Windows)

Существует три способа подключить Windows раздел когда винда находится в режиме сна (гибернации).
  1. Загрузить Виндоуз, и просто завершить работу. Далее можно вернуться в Linux и раздел будет доступен в режиме чтения-записи.
  2. Подключить win раздел вручную в режиме "только для чтения"
    • Убедиться что в Linux у вас есть точка монтирования (куда вы будете подключать раздел), например, /win64 
      file /win64
    • Если такой точки монтирования нет, создайте 
      sudo mkdir /win64
    • Далее, можно попробовать подключить раздел в режиме "только для чтения"
      mount -t ntfs-3g -o ro /dev/sda3 /win64
    • После выполнения этих шагов, можете открывать ntfs раздел любой программой в Linux и проблем быть не должно
  3. Если же нужно подключить раздел в режиме "чтения-записи" и при этом нет возможности загрузить винду и выключить систему, можно удалить hiberfil.sys. Однако это чревато потерей всех несохраненных данных. Так что эта опция - для смелых :) 
    mount -t ntfs-3g -o remove_hiberfile /dev/sda3 /win64

     

...