Вопрос или проблема
Я создал виртуальную машину, используя следующую команду:
qemu-img create -f raw myVirtualDisk.raw 20G
qemu-system-x86_64 -enable-kvm -m 8G -smp 8 -boot d -cdrom /home/danny/2T/tmp/iso-image/ubuntu-24.04.1-live-server-amd64.iso -drive file=/home/danny/myVirtualDisk.raw,format=raw -netdev user,id=net0,net=192.168.0.0/24,dhcpstart=192.168.0.9 -device virtio-net-pci,netdev=net0 -vga qxl -device AC97 -rtc base=2023-04-01
После успешной установки операционной системы я запускаю виртуальную машину с помощью команды:
qemu-system-x86_64 -enable-kvm -m 8G -smp 8 -drive file=/home/danny/myVirtualDisk.raw,format=raw -netdev user,id=net0,net=192.168.0.0/24,dhcpstart=192.168.0.9 -device virtio-net-pci,netdev=net0 -vga qxl -device AC97 -rtc base=2023-04-01
Но когда виртуальная машина запущена и я вошел в систему, при выполнении команды date
результат по-прежнему показывает сегодня; параметр -rtc base=2023-04-01
похоже, не работает.
Ответ или решение
Вы правильно настроили виртуальную машину с использованием QEMU и задали начальное время для RTC (Real-Time Clock) с помощью параметра -rtc base=2023-04-01
. Однако, если команда date
в ОС гость (в данном случае Ubuntu) показывает текущее время, а не заданное вами, это может быть связано с несколькими факторами. Позвольте мне изложить возможные причины и пути решения вашей проблемы.
1. Проблема с синхронизацией времени
Современные операционные системы, такие как Ubuntu, имеют механизмы для синхронизации времени через сетевые протоколы, такие как NTP (Network Time Protocol). Если в вашей виртуальной машине включен NTP, то время будет синхронизироваться с интернет-серверами, что может затмить ваши настройки RTC.
Решение:
- Отключите NTP, если он включён:
sudo systemctl stop systemd-timesyncd sudo systemctl disable systemd-timesyncd
- После этого установите дату вручную:
sudo date --set="2023-04-01"
2. Проверка параметров QEMU
Убедитесь, что вы правильно передали параметры -rtc
в обеих командах запуска QEMU. В вашем вопросе команды выглядят корректно, однако стоит проверить наличие опечаток и правильность путей к файлам.
3. Использование параметра -rtc
с другими опциями
Иногда может быть полезно указать дополнительные опции для -rtc
. Например, вы можете добавить параметр -rtc base=2023-04-01,driftfix=slewing
, чтобы QEMU корректно обрабатывал изменения времени.
-rtc base=2023-04-01,driftfix=slewing
4. Проверка настроек BIOS/QEMU
Убедитесь, что настройка времени в BIOS QEMU (или в конфигурации вашей виртуальной машины) не переписывает настройки RTC. Это можно сделать, проверив настройки виртуальной машины через интерфейс управления.
Заключение
Сделав вышеперечисленные шаги, вы должны быть в состоянии установить и сохранить время в вашей виртуальной машине. После выполнения данной процедуры, проверьте время снова с помощью команды date
. Если проблема все еще сохраняется, возможно, стоит проверить журналы системы на наличие ошибок, связанных с настройками времени.
Если у вас есть дополнительные вопросы или требуется помощь, не стесняйтесь обращаться. Удачи с вашей виртуальной машиной!