nodev
просто означает, что узлы устройств в этой файловой системе не работают. Они могут существовать раньше, и вы можете их создавать, но не можете их открыть.
# mount -ttmpfs -onodev tmpfs /tmp/test
# cd /tmp/test/
# cp -a /dev/sda.
# ls -l
total 0
brw-rw---- 1 root disk 8, 0 Dec 16 18:24 sda
# head -c512./sda | od -c
head: cannot open './sda' for reading: Permission denied
Это то же самое, что и при попытке открыть spFile
. Конечно, это работает, если вы удалите nodev
.(exec
не имеет к этому никакого отношения, он контролирует выполнение программ вне файловой системы, другое дело.)
# mount -oremount,dev.
# head -c512./sda |od -c
0000000 372 270 \0...
Что касается того, что вы подразумеваете под «связыванием специального символьного устройства с файлом, созданным dd» , я понятия не имею, что вы имеете в виду.
Я нашел решение, которое решает проблему, но не уверен, что оно правильное.
Если
$ sudo lsinitrd -m | grep 'resume'
ничего не возвращает, значит в initrd отсутствует модуль возобновления.Чтобы временно вставить его, выполните:
$ sudo dracut -vf -a resume
и проверьте снова, используя предыдущую команду. Если он возвращает «резюме», попробуйте перейти в спящий режим и проснуться. Теперь это должно работать. Изменение можно установить навсегда, добавив новый файл правил в dracut, то есть в файл с именем:
/etc/dracut.conf.d/99-resume.conf
, который должен содержать:
add_dracutmodules+="resume"
Не забудьте обновить файл initramfs:
$ sudo dracut -vf
Обычно это проблема с установочным носителем Fedora 32. Проблема описана здесь:Red Hat Bug 1795422
У меня были такие проблемы, и я решил их следующим образом:
где sdXn — это тот же раздел подкачки, который вы установили в /etc/fstab
. (напр. сда5)
Вместо устройства вы можете использовать uuid :resume=UUID=xxxx
, где xxxx — это uuid вашего раздела подкачки. Поскольку я не знаю Fedora, альтернативой uuid может быть :resume=/dev/by/uid=xxxx
Не забудьте оформить sudo update-grub
после ваших изменений. Перезагрузитесь тогда.