qemu-nbd: Failed to set NBD socket solution qemu-nbd: Disconnect client, due to: Failed to read request: Unexpected end-of-file before all bytes were read

You are trying to mount and connect to an image using qemu-nbd:

qemu-nbd -c /dev/nbd0 rtt.qcow2

qemu-nbd: Failed to set NBD socket
qemu-nbd: Disconnect client, due to: Failed to read request: Unexpected end-of-file before all bytes were read

Another related error:

qemu-nbd: Failed to unlink socket /var/lock/qemu-nbd-nbd0: Operation not permitted
Error with nbd, exiting

The above can happen if you don't have permission to access the nbd socket.

qemu-nbd is not that smart, this is caused by /dev/nbd0 being connected

This can happen due to a failed mount or perhaps you just forgot to disconnect the previous time.

We'll solve it by disconnecting the nbd0 device with the -d flag (for disconnect).

qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected

Now can see that it works without error
 

qemu-nbd -c /dev/nbd0 1234.img
 

fdisk -l /dev/nbd0


Disk /dev/nbd0: 15 GiB, 16106127360 bytes, 31457280 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Simple Way To Test if /dev/nbd0 is in use

Also remember by default you probably have up to /dev/nbd15.

You can use a tool like fdisk to check if the nbd is in use:

fdisk -l /dev/nbd0
fdisk: cannot open /dev/nbd0: Inappropriate ioctl for device

If you get an error like "fdisk: cannot open /dev/nbd0: Inappropriate ioctl for device", it is NOT in use.

If it's in use you should be able to see the disk info:

fdisk -l /dev/nbd0
Disk /dev/nbd0: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Tags:

qemu, nbd, socket, disconnect, bytes, readqemu,

Latest Articles

  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide
  • Abusive IP ranges blacklist
  • How to Install Any OS on a Physical Drive from Windows Using VMware Workstation (Linux, Windows, BSD)
  • CDN Cloudflare how to set and preserve the real IP of the client without modifying application code on Apache
  • CentOS 7 fix Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was 14: curl#6 -
  • Ubuntu Debian How To Install Recommended Packages Automatically
  • How to set Linux Ubuntu Redhat Debian Command Line http https socks proxy for yum apt
  • How to resize a pdf without losing much quality in Linux Mint Ubuntu Debian Redhat Solution
  • qemu: could not load PC BIOS 'bios-256k.bin' solution
  • Proxmox How To Custom Partition During Install
  • Hyper-V Linux VM Boots to Black Screen, Storage, NIC Not Found Issues
  • Ubuntu Mint How to Fix Missing/Broken /dev and /dev/pts which causes terminal to immediately close exit and not work
  • How high can a Xeon CPU get?