Continuando con las aventuras en Opensolaris contaré un caso puntual que me sucedió y como luego de leer y buscar y probar logre solucionarlo.
El caso
Tengo actualmente en mi equipo casero 3 discos duros:
- Ide de 80 gb en donde esta instalado Opensolaris y Win2 Vista utilizando multi boot. En la misma correa (controladora) esta conectada la unidad lectora de DVD
- Disco SATA de 160 gb con información y películas de Anime. Una sola partición. Ext3
- Disco SATA de 500 gb en donde estaba instalado Linux Debian y tiene una partición bastante amplia para datos varios. Ext3 todas las particiones.
Deseo poder leer y preferiblemente escribir en las particiones. El lío es que Opensolaris de forma “nativa” no permite hacer esto. Es necesario instalar paquetes adicionales y montar a mano las particiones.
Un poco de teoría
En Opensolaris y otras versiones *nix se manejan nombres lógicos de los dispositivos. En el caso puntual de discos duros la notación seria: número de controladora, número del disco y dentro del disco el número de partición.
Para verificar dicha información utilizo el comando prtpart
# prtpart
Available disk devices:/dev/rdsk/c0d0p0
/dev/rdsk/c3d0p0
/dev/rdsk/c3d1p0Use /usr/bin/prtpart <disk device> to get partition details
Use /usr/bin/prtpart -help for usage help
Y haciéndole caso al comando puedo verificar por ejemplo la controladora cero, el disco cero (en donde esta instalado Win2 y Opensolaris. Capacidad de 80 gb)
# prtpart /dev/rdsk/c0d0p0
Fdisk information for device /dev/rdsk/c0d0p0
Block Size : 512 bytes
Controller : ide
Disk : cmdk
Capacity : 76 GB# start block # nblocks startCylSecHd endCylSecHd OSType
1: 0000000063 0040965687 0/ 1/ 1 ff/ff/fe IFS: NTFS
2: 0040965750 0119117824 ff/ff/fe ff/ff/fe Solaris x86
Y verificando un disco con múltiples particiones:
# prtpart /dev/rdsk/c3d0p0
Fdisk information for device /dev/rdsk/c3d0p0
Block Size : 512 bytes
Controller : ide
Disk : cmdk
Capacity : 465 GB# start block # nblocks startCylSecHd endCylSecHd OSType
1: 0000002048 0081920000 0/21/20 ff/ff/fe IFS: NTFS
2: 0081931500 0013655250 ff/ff/fe ff/ff/fe Linux native
3: 0095586750 0881181315 ff/ff/fe ff/ff/fe DOS Extended# start block # nblocks startCylSecHd endCylSecHd OSType
5: 0000000063 0003903732 ff/ff/fe ff/ff/fe Linux swap
0: 0003903795 0039070080 ff/ff/fe ff/ff/fe DOS Extended# start block # nblocks startCylSecHd endCylSecHd OSType
6: 0000000063 0039070017 ff/ff/fe ff/ff/fe Linux native
0: 0042973875 0838207440 ff/ff/fe ff/ff/fe DOS Extended# start block # nblocks startCylSecHd endCylSecHd OSType
7: 0000000063 0838207377 ff/ff/fe ff/ff/fe Linux native
El software necesario y configuración.
Luego de googlear un rato encontré que para leer dichas particiones es necesario el siguiente software:
1. Paquete FSWpart
Luego de la descarga descomprimir con:
gunzip -c FSWpart.tar.gz | tar xvf -
A continuación instalar con:
# pkgadd -d . FSWpart
2. Paquete FSWfsmisc
Luego de la descarga descomprimir con:
gunzip -c FSWfsmisc.tar.gz | tar xvf -
A continuación instalar con:
# pkgadd -d . FSWfsmisc
Para verificar las particiones logicas entonces se utiliza la variable -ldevs que segun la propia documentación del programa:
-ldevs - Lists logical device names for all the partitions on the disk
including the extended partitions. The extended partition
device names are non-standard virtual names for accessing
other filesystems, namely NTFS and EXT2FS
Así que el resultado del comando es:
# prtpart /dev/rdsk/c3d0p0 -ldevs
Fdisk information for device /dev/rdsk/c3d0p0
** NOTE **
/dev/dsk/c3d0p0 - Physical device referring to entire physical disk
/dev/dsk/c3d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c3d0p5 … - Virtual devices referring to logical partitionsVirtual device names can be used to access EXT2 and NTFS on logical partitions
/dev/dsk/c3d0p1 IFS: NTFS
/dev/dsk/c3d0p2 Linux native
/dev/dsk/c3d0p3 DOS Extended
/dev/dsk/c3d0p5 Linux swap
/dev/dsk/c3d0p6 Linux native
/dev/dsk/c3d0p7 Linux native
Montar la partición
Una vez verificada cual partición deseamos montar es similar a montar particiones en GNU/Linux con la diferencia que debemos decirle que es un ext2
# mount -F ext2fs /dev/dsk/c3d0p7 /media/montado/
Y para desmontar es igual que en GNU/Linux
# umount /media/montado








