Это не столько ответ, сколько серия подсказок. Прежде всего, на этой странице упоминается, что выполнение 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, это, вероятно, хорошая идея.