Разве это не как настроить файл подкачки?
Я думаю , что вы пропустили шаг между ними chmodи swapon:
mkswap /mnt/sda2/swapfile
Что касается оксиморомной ошибки ...
swapon: / mnt / sda2 / swapfile: не удалось прочитать заголовок подкачки: успешно
Это буквально означает, что в swaponкоде есть ошибка , но не обязательно связанная с ее основным функционированием.
Функции библиотеки C часто используют errno , глобальную переменную, в которой хранится код ошибки. Сама функция вернет значение, указывающее, что произошла ошибка (любая ошибка), и точный характер этой ошибки будет сохранен в errno. Идея состоит в том, что если вы получаете указание на ошибку, вы можете проверить значение, errnoчтобы точно увидеть, что это такое.
Также есть strerror()библиотечная функция, которая примет значение errno (они являются целыми числами) и вернет относящуюся к нему строку человеческого языка. Одним из них является то Success, что соответствует коду ошибки 0 (т. Е. Нет ошибки).
Поэтому, когда вы видите что-то подобное, это указывает на такую ошибку, как:
- Получаем ошибку, затем вызываем другую функцию (успешно), которая сбрасывает errno до 0 за кулисами, затем используем errno, чтобы определить особенности ошибки, которую вы получили до вызова второй функции.
И / или
- Передача
strerror()переменной, которой в определенный момент должно было быть присвоено значение errno (чтобы предотвратить возникновение предыдущей ошибки), но это не так.
mkswapиerrno.