
Aparte de la creación de redes y el uso compartido de particiones, he hecho que qemu funcione más o menos como yo quiero. Tengo una configuración un poco especial, necesito pasar /dev/sda
y . (¿Es posible pasar sin pasar con él? Puedo vivir usando métodos alternativos)./dev/sda1
/dev/sda2
/dev/sda
/dev/sda3
/dev/sda
(MBR) = Administrador de arranque de Windows activado/dev/sda1
/dev/sda1
= Partición reservada del sistema (gestor de arranque de Windows)
/dev/sda2
C:/
= partición de Windows 7
/dev/sda3
= Arch Linux (Anfitrión)
Tengo /dev/sda3
el grub instalado en el MBR de /dev/sdc
(lo que significa que el inicio /dev/sdc
me iniciará en mi instalación de Arch Linux, el inicio /dev/sda
me iniciará en Windows). También pasaré, /dev/sdc
pero este es fácil ya que el host no lo necesita. cualquier acceso a esta unidad después del arranque.
Finalmente, tengo una partición de almacenamiento GPT (NTFS) a /dev/sdb2
la que quiero que sea fácilmente accesible tanto desde el host como desde mi invitado al mismo tiempo (quiero compartirla entre ambos sistemas)
¿Cómo procedo con /dev/sda
y /dev/sdb2
?
Respuesta1
Puede utilizar el asignador de dispositivos para dar forma a un dispositivo que contenga las partes del dispositivo original que desee. Por ejemplo:
$ grep . /sys/class/block/sda/**/(size|start)
/sys/class/block/sda/sda1/size:224847
/sys/class/block/sda/sda1/start:63
/sys/class/block/sda/sda2/size:124820514
/sys/class/block/sda/sda2/start:224910
/sys/class/block/sda/size:125045424
Si yo quieroesconder sda2
, puedo crear un /dev/mapper/no_sda2
sector donde los sectores 224910 a 125045424 contienen ceros:
Primero cree un dispositivo de bucle; de lo contrario, dmsetup se quejará porque
/dev/sda
está en uso (aunqueloop
no se quejará, lo cual no me parece muy consistente):losetup /dev/loop0 /dev/sda
Luego crea
/dev/mapper/no_sda2
como:dmsetup create no_sda2 << EOF 0 224910 linear /dev/loop0 0 224910 $((125045424-224910)) zero EOF