All Products
Search
Document Center

Elastic Compute Service:Instal driver virtio

Last Updated:May 16, 2026

Instal dan muat driver virtio dalam gambar Linux kustom Anda agar instance ECS dapat mendeteksi perangkat penyimpanan dan jaringan yang divirtualisasi saat boot.

Prosedur

Bagan alir berikut menunjukkan cara menginstal driver virtio pada sistem Linux:

Prosedur

Periksa apakah kernel mendukung virtio

  1. Pada mesin virtual tempat Anda membuat gambar, jalankan perintah berikut untuk memeriksa apakah kernel mendukung virtio:

    grep -i virtio /boot/config-$(uname -r)

    Contoh output:

    virtio_driver

  2. Analisis output tersebut.

    Periksa parameter CONFIG_VIRTIO_BLK dan CONFIG_VIRTIO_NET:

    • Jika nilai parameternya y: Driver virtio dikompilasi ke dalam kernel dan dimuat secara otomatis saat startup. Tidak diperlukan tindakan lebih lanjut.

    • Jika nilai parameternya m atau salah satu nilainya y dan yang lainnya m: Driver virtio ada sebagai modul kernel. Tambahkan driver virtio ke sistem file temporary.

    • Jika parameter tidak muncul: Driver virtio belum terinstal. Instal driver virtio secara manual.

Tambahkan driver virtio ke sistem file temporary

Jika kernel memiliki CONFIG_VIRTIO_BLK=m atau CONFIG_VIRTIO_NET=m tetapi modul-modul ini tidak ada di initramfs, sistem mungkin gagal memuat virtio saat startup.

  1. Jika CONFIG_VIRTIO_BLK atau CONFIG_VIRTIO_NET bernilai m, jalankan salah satu perintah berikut untuk memeriksa apakah driver virtio ada di initramfs:

    Seri CentOS

    lsinitrd /boot/initramfs-$(uname -r).img | grep virtio

    image

    Seri Debian

    lsinitramfs /boot/initrd.img-$(uname -r)|grep  virtio

    image

    Seri SUSE

    lsinitrd /boot/initrd-$(uname -r)|grep virtio

    image

    • Jika output berisi virtio_blk.ko dan virtio_net.ko, driver virtio sudah ada di initramfs. Tidak diperlukan tindakan lebih lanjut.

    • Jika keluaran tidak memiliki virtio_blk.ko atau virtio_net.ko, atau hanya berisi salah satu dari virtio_blk.ko dan virtio_net.ko, lanjutkan ke langkah berikutnya.

  2. Tambahkan driver virtio ke initramfs.

    Seri CentOS

    Berlaku untuk CentOS 6, Anolis OS 7, AlmaLinux 8, Fedora 33, atau versi yang lebih baru dengan versi kernel lebih baru dari 2.6.24 (jalankan uname -r untuk memeriksa).

    1. Buka file dracut.conf:

      vim /etc/dracut.conf
    2. Tekan i untuk masuk ke mode Insert dan tambahkan konten berikut:

      add_drivers+="virtio_blk virtio_net"

      Tekan Esc, ketik :wq, lalu tekan Enter untuk menyimpan dan menutup file.

      Catatan

      Jika salah satu nilai CONFIG_VIRTIO_BLK dan CONFIG_VIRTIO_NET adalah y dan yang lainnya m, Anda hanya perlu menambahkan driver virtio yang nilainya m ke file tersebut. Misalnya, jika nilai parameter CONFIG_VIRTIO_NET adalah m, tulis hanya add_drivers+="virtio_net" ke file tersebut.

    3. Buat ulang initrd:

      dracut -f
      Catatan

      Jalankan echo $? untuk memverifikasi nilai kembali 0. Jalankan perintah

      lsinitrd /boot/initramfs-$(uname -r).img | grep virtio untuk memverifikasi bahwa virtio ada di initramfs.

    Seri Debian

    1. Buka file modules:

      vim /etc/initramfs-tools/modules
    2. Tekan i untuk masuk ke mode Insert dan tambahkan konten berikut:

      virtio_blk
      virtio_net

      Tekan Esc, ketik :wq, lalu tekan Enter untuk menyimpan dan menutup file.

      Catatan

      Jika salah satu nilai CONFIG_VIRTIO_BLK dan CONFIG_VIRTIO_NET adalah y dan yang lainnya m, Anda hanya perlu menambahkan driver virtio yang nilainya m ke file tersebut. Misalnya, jika nilai parameter CONFIG_VIRTIO_NET adalah m, tambahkan hanya virtio_net ke file tersebut.

    3. Buat ulang initrd:

      update-initramfs -u
      Catatan

      Jalankan echo $? untuk memverifikasi nilai kembali 0. Jalankan perintah lsinitramfs /boot/initrd.img-$(uname -r)|grep virtio untuk memverifikasi bahwa virtio ada di initramfs.

    Seri SUSE

    • Versi sebelum SUSE 12 SP1 atau openSUSE 13

      1. Buka file kernel:

        vim /etc/sysconfig/kernel
      2. Tekan i untuk masuk ke mode Insert dan tambahkan konten berikut:

        INITRD_MODULES="virtio_blk virtio_net"

        Tekan Esc, ketik :wq, lalu tekan Enter untuk menyimpan dan menutup file.

        Catatan

        Jika salah satu nilai CONFIG_VIRTIO_BLK dan CONFIG_VIRTIO_NET adalah y dan yang lainnya m, Anda hanya perlu menambahkan driver virtio yang nilainya m ke file tersebut. Misalnya, jika nilai parameter CONFIG_VIRTIO_NET adalah m, tulis hanya INITRD_MODULES="virtio_net" ke file tersebut.

      3. Buat ulang initrd:

        mkinitrd
    • SUSE 12 SP1, OpenSUSE 13, atau versi yang lebih baru

      1. Buka file dracut.conf:

        vim /etc/dracut.conf
      2. Tekan i untuk masuk ke mode Insert dan tambahkan konten berikut:

        add_drivers+="virtio_blk virtio_net"

        Tekan Esc, ketik :wq, lalu tekan Enter untuk menyimpan dan menutup file.

        Catatan

        Jika salah satu nilai CONFIG_VIRTIO_BLK dan CONFIG_VIRTIO_NET adalah y dan yang lainnya m, Anda hanya perlu menambahkan driver virtio yang nilainya m ke file tersebut. Misalnya, jika nilai parameter CONFIG_VIRTIO_NET adalah m, tulis hanya add_drivers+="virtio_net" ke file tersebut.

      3. Buat ulang initrd:

        dracut -f
    Catatan

    Jalankan echo $? untuk memverifikasi nilai kembali 0. Jalankan perintah

    lsinitrd /boot/initrd-$(uname -r)|grep virtio untuk memverifikasi bahwa virtio ada di initramfs.

Instal driver virtio secara manual

Langkah 1: Unduh paket instalasi kernel

Catatan

Dalam contoh ini, paket instalasi kernel linux-4.4.24.tar.gz digunakan pada CentOS. Sesuaikan perintah berdasarkan versi kernel Anda.

  1. Instal komponen yang diperlukan untuk kompilasi kernel:

    yum install -y ncurses-devel gcc make wget
  2. Kueri versi kernel. Dalam contoh ini, versi kernel adalah 4.4.24-2.al7.x86_64.

    uname -r

    kernel_version

  3. Buka halaman daftar kernel Linux dan temukan URL unduhan untuk versi kernel Anda.

    Dalam contoh ini, URL unduhan linux-4.4.24.tar.gz adalah https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.24.tar.gz.

    download

  4. Unduh paket instalasi:

    cd /usr/src/
    wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.24.tar.gz
  5. Ekstrak paket dan buat tautan simbolik:

    tar -xzf linux-4.4.24.tar.gz
    ln -s linux-4.4.24 linux
    cd /usr/src/linux

Langkah 2: Kompilasi kernel

  1. Kompilasi kernel:

    make mrproper
    symvers_path=$(find /usr/src/ -name "Module.symvers")
    test -f $symvers_path && cp $symvers_path .
    cp /boot/config-$(uname -r) ./.config
    make menuconfig
    Catatan

    Jika perintah make menuconfig gagal, instal komponen yang hilang. Contohnya:

    yum install  ncurses-devel
    yum install  bison
    yum install  flex
  2. Selesaikan konfigurasi terkait virtio pada halaman berikut:

    Catatan

    Memilih konfigurasi dengan tanda bintang (*) akan mengompilasi driver virtio ke dalam kernel. Memilih m akan mengompilasinya sebagai modul.

    1. Konfigurasikan opsi Virtualisasi.

      1. Pilih Virtualization dan tekan Enter.Select_Virtualization

      2. Verifikasi bahwa opsi dukungan Kernel-based Virtual Machine (KVM) telah dipilih.Select_KVM

    2. Konfigurasikan opsi jenis prosesor dan fitur.

      1. Kembali ke menu utama, pilih Processor type and features, lalu tekan Enter.

      2. Pilih Paravirtualized guest support dan tekan Enter.guest_support

      3. Verifikasi bahwa KVM paravirtualized clock dan KVM Guest support telah dipilih.KVM

    3. Konfigurasikan opsi Device Drivers.

      1. Kembali ke menu utama, pilih Device Drivers, lalu tekan Enter.

      2. Pilih Block devices dan tekan Enter.

      3. Verifikasi bahwa Virtio block driver telah dipilih.Virtio_block

      4. Kembali ke Device Drivers, pilih Network device support, lalu tekan Enter.

      5. Verifikasi bahwa Virtio network driver telah dipilih.Virtio_network

    4. Tekan Esc untuk keluar dari jendela konfigurasi kernel. Pilih Yes untuk menyimpan file .config.

    5. Periksa apakah konfigurasi terkait virtio telah lengkap.

    6. (Opsional) Jika konfigurasi virtio belum lengkap, modifikasi file .config:

      make oldconfig
      make prepare
      make scripts
      make
      make install
    7. Periksa apakah driver virtio telah terinstal:

      find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "virtio*"
      grep -E "virtio*" < /lib/modules/"$(uname -r)"/modules.builtin

      Jika driver virtio telah terinstal, salah satu output perintah akan mencantumkan file terkait virtio seperti virtio_blk, virtio_pci, dan virtio_console.确认结果