Что касается первого вопроса, который вы задали, любая программа, работающая на виртуальной машине, будет использовать ядро и библиотеки в гостевой системе, а не в хосте (, что имеет смысл :гость Windows не сможет напрямую вызывать библиотеки на хосте Linux или наоборот. )Пока ваша виртуальная машина Fedora имеет практически ту же конфигурацию Python, что и ваши машины с Ubuntu, вы сможете провести корректное сравнение между ними.
(Единственным придирчивым -исключением из этого является интерфейс, который VirtualBox предоставляет гостю :, например, сетевой адаптер гостя реализуется как серия сетевых вызовов на хосте. Однако, если в VirtualBox или вашем хосте нет ошибки, это не должно влиять на ваши тесты.)
Я бы порекомендовал опубликовать отдельный вопрос о переполнении стека с неработающим -кодом, хотя :принудительный запуск программы в определенной версии/дистрибутиве — это не весело и крайне хрупко.
Вы можете циклически -смонтировать весь -образ диска с поддержкой разделов, а затем dd
обновленный sda2
образ на место внутри него:
losetup -P /dev/loop0 /nfs/sda.raw #this will create /dev/loop0p1 and loop0p2
dd if=/nfs/sda2.raw of=/dev/loop0p2
losetup -d /dev/loop0
Кроме того, ваша таблица разделов указывает, что ваш первый раздел начинается с сектора #2048, поэтому на вашем диске есть 2048 *512 байт = 1 МБ пространства перед первым разделом ("head" ), и 500118192 -500117503 -1 = 688 секторов (344 КБ )пространства в конце («хвоста» )вне любого раздела.(-1, потому что первый сектор равен #0, а не #1)
Первый раздел заканчивается на секторе #2000895, а второй начинается на #2000896, поэтому между ними нет неиспользуемого пространства.
Вы используете таблицу разделов GPT, которая включает в себя резервную копию таблицы разделов в конце диска, поэтому необходимо также захватить «хвостовую» часть. Он начинается с сектора #500117504 и продолжается до конца диска.
Таким образом, вы можете захватить содержимое "головной" и "хвостовой" частей по отдельности, а затем собрать все вместе:
dd if=/dev/sda of=/nfs/head.raw bs=512 count=2048
dd if=/dev/sda of=/nfs/tail.raw bs=512 skip=500117504
cat /nfs/head.raw /nfs/sda1.raw /nfs/sda2.raw /nfs/tail.raw > /nfs/sda.raw
Если вы не измените таблицу разделов, вам потребуется захватить «головную» и «хвостовую» части только один раз, :они не должны изменяться при обычном использовании системы.