Как автоматически смонтировать спящий NTFS только для чтения?

Есть ли способ настроить Ubuntu следующим образом:

Если я не могу смонтировать файловую систему в режиме rw, то смонтируйте ее в режиме ro в том же каталоге.

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

Запись fstab:

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,errors=remount-ro 0        1

Результат «mount -a»:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda7': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.

У меня есть Ubuntu 13.10 и win8. Я использую безопасную загрузку UEFI.

6
задан 2 November 2013 в 19:47

3 ответа

Я нашел способ смонтировать раздел Windows в режиме гибернации в режиме только для чтения, когда возникает какая-либо ошибка

Я надеюсь, что это будет работать и для вас. Ниже я описываю, как это сделать.

  • Откройте файл /etc/rc.local с правами root в любом редакторе.

    sudo gedit /etc/rc.local
    
  • Теперь добавьте, наконец, следующие строки:

    sudo mount /dev/sda7 /media/Dane
    if [ $? -eq 14 ]
    then
      sudo mount -o ro /dev/sda7 /media/Dane
    fi
    exit 0
    

    Если exit 0 уже записано, удалите дубликат. Убедитесь, что /etc/sda7 - это ваш раздел Windows, который вы собираетесь монтировать при возникновении ошибки, а также уже существует каталог с именем Dane, созданный в /media. Если нет, то измените /dev/sdaX соответствующим образом и создайте каталог.

  • Теперь обновите, используя следующую команду:

    sudo update-rc.d -f /etc/rc.local
    

    Я не уверен, нужна ли эта команда или нет, но просто выполняю ее в каждом сообщении.

  • Теперь, наконец, перезагрузите систему, когда Windows находится в спящем режиме.

Небольшое описание:

Команда, записанная в файле /etc/rc.local, фактически выполняется до и после загрузки системы, таким образом, действует как запуск. Первая команда в скрипте попытается смонтировать раздел и получить код ошибки, который он возвращает. так $? 14, когда возникает какая-либо ошибка. $? равно 16, когда раздел уже смонтирован и пытается смонтировать его снова ...

Ответьте, если что-то пойдет не так. Я буду ждать вашего ответа ..

0
ответ дан 2 November 2013 в 19:47

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

sudo fdisk -l

Найдите тот, который отформатирован как NTFS в разделе Система, и запомните идентификатор устройства (Должен выглядеть примерно как / dev / sda2). Затем создайте каталог монтирования и смонтируйте его.

mkdir Windows
sudo mount -o ro /dev/sdaX Windows

(замените X на идентификатор вашего устройства)

0
ответ дан 2 November 2013 в 19:47
  • 1
    Don' t беспокойство, you' ll быть прекрасным ^^ – Dario Salvati 3 May 2015 в 15:10

Это мое решение, оно не самое лучшее.

Я просто добавляю вторую запись в fstab с параметром nobootwait. Если первая запись не работает, то вторая запись работает, и система не сообщает ни одного сообщения. Если первая запись работает, то вторая запись не работает из-за первой записи. Посмотрим, будет ли он работать правильно: D

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,nobootwait,errors=remount-ro 0        1
UUID=D0B43178B43161E0 /media/Dane           ntfs   suid,dev,exec,auto,nouser,async,nobootwait,ro    0       2
0
ответ дан 2 November 2013 в 19:47

Другие вопросы по тегам:

Похожие вопросы: