Monday, July 11, 2022

Convert .OVA to .QCOW2

  ﷽

 We need to convert virtualization file from .OVA format to .QCOW2 to import it onto Harvester HCI images.

# apt-get update
Hit:2 https://ngrok-agent.s3.amazonaws.com buster InRelease
...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
252 packages can be upgraded. Run 'apt list --upgradable' to see them.

# apt-get install qemu-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up qemu-block-extra (1:8.0.2+dfsg-2) ...
Processing triggers for libc-bin (2.36-9) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for kali-menu (2023.3.1) ...


# tar -xvf MY_OVA.ova
MY_OVA.ovf
MY_OVA-disk001.vmdk
MY_OVA-disk002.vmdk
MY_OVA.mf

# qemu-img convert -f vmdk -O qcow2 MY_OVA-disk001.vmdk MY_OVA.qcow2

Alhamdulillah, it's done.

Barakallahu fiikum.

Monday, May 9, 2022

Installing VirtIO Driver on Windows Recovery Environment (Nutanix AHV)

﷽ 

While migrating an older Windows virtual machine from VMware to Nutanix AHV recently, I hit one of those classic virtualization headaches that always seems to appear at the worst possible moment:

Windows booted directly into recovery mode with no storage drivers available.

The culprit? Missing VirtIO SCSI drivers.

This is an extremely common issue when moving Windows VMs between hypervisors that use different virtual storage controllers. VMware environments often rely on LSI Logic or VMware Paravirtual adapters, while Nutanix AHV typically expects VirtIO-based storage drivers. Without the correct driver loaded, Windows simply cannot see the system disk anymore.

The result is usually one of the following:

  • INACCESSIBLE_BOOT_DEVICE
  • Automatic Repair loops
  • Recovery Environment boot
  • Missing disks during startup
  • Failure to detect the system partition

At first glance, this can look catastrophic — especially if the VM contains production workloads or legacy applications that are difficult to rebuild.

Fortunately, Windows Recovery Environment (WinRE) provides a surprisingly effective way to inject the required drivers offline without reinstalling the operating system.

If the proper driver was never installed before migration, Windows loses access to its own boot volume immediately after startup.

Linux systems usually adapt gracefully because VirtIO support is built directly into most kernels. Windows, however, depends heavily on pre-installed vendor drivers.

Here is the Quick walk through :

Step 1 - Boot into Windows Recovery
Attach media :

    1. Windows installation ISO
    2. VirtIO driver ISO (virtio-win.iso) downloadable from VirtIO  

    Boot the VM and enter :

    Repair your computer
    → Troubleshoot → Advanced options → Command Prompt


Step 2 - Identify Drive Letters
Inside WinRE, drive letters are often reassigned.

    Use:

    diskpart list volume

    Locate:

    1. Windows partition
    2. VirtIO ISO drive

    Exit DiskPart:
    
    exit 

Step 3 - Permanently Inject the Driver to Windows System
Permanent installation avoids repeated failures.

    Use DISM:

    dism /Image:C:\ /Add-Driver /Driver:D:\vioscsi\2k19\amd64\vioscsi.inf

    You should receive:

    The operation completed successfully.
 
    This injects the driver directly into the offline Windows image.

Step 4 - Reboot to system
If everything went correctly, Windows should now boot normally using the VirtIO storage controller.

Barakallahu fiikum.
Wa Jazakumullahu khair.


Friday, April 8, 2022

Install Anydesk on Debian based Linux (Kali/Parrot/Ubuntu).

   

This is just a 5 minutes article on howto install Anydesk on Debian based Linux (Kali/Parrot/Ubuntu).

# Update and preparation :

$ sudo apt update 

$ sudo apt -y upgrade

$ sudo apt install -y gnupg2

$ wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pangox-compat/libpangox-1.0-0_0.0.2-5.1_amd64.deb

$ sudo dpkg -i libpangox-1.0-0_0.0.2-5.1_amd64.deb


# Add Anydesk repo :

$ wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | sudo apt-key add -

$ echo "deb http://deb.anydesk.com/ all main" | sudo tee /etc/apt/sources.list.d/anydesk-stable.list

$ sudo apt -y update 

$ sudo apt -y install anydesk


# Check Anydesk package already installed :

$ sudo apt list anydesk

Listing... Done

anydesk/all,now 6.1.1 amd64 [installed]


# Enable and start anydesk service :

$ sudo systemctl enable anydesk

$ sudo systemctl start anydesk


# Set password for unattended Access :

$ echo my-secret | sudo anydesk --set-password


Barakallahu fiikum, hopefully this information is useful.


Thursday, March 3, 2022

[FIX] Repairing linux unbootable grub error [after system conversion to VMWare].

  

During conversion process of my running system from Hervester HCI to VMWare ESX, we experiencing the following error at progress 97%, the error messages is :

"An error occurred during the conversion: 'GrubInstaller::InstallGrub: ..."


The system is indeed already converted and ready on VMWare, but still it's unbootable, because the Grub is corrupted, eventough the rest of the files insyaAllah remain safe ... so ?

Here is the solution that might help you fix the error :

1. Boot the converted system (the one that unbootable) using Linux Live CD ( I use Kubuntu ).
2. Goto Shell/ Terminal /Command prompt, and then perform the following :

- Check available disk partition  : sudo fdisk -l

Device     Boot    Start       End  Sectors  Size Id Type
/dev/sda1  *        2048  87889919 87887872 41.9G 83 Linux
/dev/sda2       87891966 104855551 16963586  8.1G  5 Extended
/dev/sda5       87891968 104855551 16963584  8.1G 82 Linux swap / Solaris

- Check and show block device : sudo blkid

/dev/sda1: UUID="034aa43c-49af-4bf9-8fd4-18a08b2a844e" TYPE="ext4" PARTUUID="23e4b144-01"
/dev/sda5: UUID="e0b4f178-6d50-476a-9422-e8481f9ab9d6" TYPE="swap" PARTUUID="23e4b144-05"
/dev/sdb: UUID="2022-02-27-03-44-52-00" LABEL="cidata" TYPE="iso9660"

- Mount target partition (in my case is /dev/sda1) : sudo mount /dev/sda1 /mnt

- Mount recursively  /dev /proc /sys to /mnt : 

sudo mount --rbind /dev /mnt/dev
sudo mount --rbind /proc /mnt/proc
sudo mount --rbind /sys /mnt/sys

- Chroot to /mnt : sudo chroot /mnt bash

- Reinstall Grub, and make sure it's pointed to the correct harddrive, not a spesific partition (in my case is /dev/sda) : grub-install /dev/sda
***only if failed add boot directory : grub-install --boot-directory=/mnt/boot /dev/sda

- Update Grub : update-grub

- Restart the system.

*** Don't forget to adjust UUID in /etc/fstab & /boot/grub/grub.cfg to match information from blkid, to avoid system is running on read-only.

Hopefully this information helps to fix your issue.

Menghadapi Krisis Dengan Panduan Syariat

﷽ πŸ“— Menghadapi Krisis Dengan Panduan Syariat πŸ‘€ Ustadz Doktor Firanda Andirja حفظه Ψ§Ω„Ω„Ω‡ πŸ“… 18 Juli 2026, 09.00 WIB.  Tabiat dalam kehidupan...