Это не столько ответ, сколько серия подсказок. Прежде всего, на этой странице упоминается, что выполнение команды dd
в разделе NTFS может повредить раздел. Не знаю почему и не знаю, правда ли это, но я подумал, что стоит упомянуть:
если /mnt /home - это диск NTFS, не используйте dd (запись на ваш диск NTFS может привести к повреждению файловой системы)
Каковы бы ни были подробности, создание файла подкачки в разделе NTFS действительно кажется проблематичным:
$ dd if=/dev/zero of=swap.img bs=1024k count=4k
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 122.731 s, 35.0 MB/s
$ mkswap swap.img
$ sudo swapon swap.img
swapon: /winblows/swap.img: skipping - it appears to have holes.
Точно такой же процесс, запущенный на разделе ext4, не выдает ошибок и, по-видимому, работает отлично, что указывает на проблему с диском NTFS. Кроме того, перемещение файла, работавшего с раздела ext4 на NTFS, и запуск swapon
на нем приводит к той же ошибке "файл имеет дыры". Так что это действительно не файл, а раздел.
Это может быть проблемой, вызванной фрагментацией моего диска, но пользователь на этом форуме объявил, что он получает ту же проблему на недавно отформатированном диске, который содержит только 2 файла, так что похоже, что фрагментация не является проблемой.
С одной стороны, часто задаваемые вопросы по ntfs-3G
(это модуль, используемый ядром для монтирования и доступа к разделам NTFS):
Могу ли я безопасно использовать файл подкачки, без тупиков в NTFS?
Да, это возможно, если все правильно настроено. Ниже приведен пример безопасного создания, инициализации и включения файла подкачки объемом 2 ГБ без блокировки:
dd if=/dev/zero of=swapfile bs=1M count=2000
mkswap swapfile
swapon swapfile
Вы должны отключить файл подкачки с помощью команды «swapoff», прежде чем сможете размонтировать NTFS. Также обратите внимание, что другие решения, например, с использованием подкачки на устройстве с петлями, небезопасны и могут привести к тупику!
Таким образом, они, кажется, думают, что это должно работать. С другой стороны, когда я запускаю приведенные выше команды, я получаю ту же ошибку "файл имеет дыры".
Итак, хотя я не могу найти какую-либо убедительную информацию, я не могу заставить ее работать на NTFS. Я обнаружил, что различные посты, которые предлагают использовать раздел NTFS для файла подкачки, являются плохой идеей или описывают различные проблемы, с которыми сталкиваются пользователи, пытаясь сделать то же самое. В заключение, если у вас есть какой-либо способ избежать NTFS, это, вероятно, хорошая идея.