2011-08-18 19 views
23

Tengo problemas para detectar cuál de mis dispositivos de bloque es el disco duro. Mi sistema tiene una unidad de CD-ROM, unidades USB y un disco duro único de proveedor/tipo desconocido.Listar todos los discos duros en un sistema Linux

¿Cómo puedo identificar el disco duro con un comando de Linux, secuencia de comandos o aplicación C?

+0

Rel evant: http://unix.stackexchange.com/questions/4561/how-do-i-find-out-what-hard-disks-are-in-the-system – shuttle87

Respuesta

24

le mostrará los discos disponibles en el sistema

+0

Interesante ... No he oído hablar de este programa lshw. ¿Es parte de una instalación estándar? Mi servidor Debian no lo tiene. Tampoco lo hace mi instalación de FreeBSD (pero él está solicitando Linux, por lo que BSD no cuenta) –

+0

@ Alek G: Tal vez la instalación de Debian está desactualizada, entonces: http://packages.debian.org/search?keywords=lshw – janneb

+0

Mi Debian está definitivamente desactualizado: fue una instalación estándar proporcionada por una empresa de hosting en un servidor dedicado hace aproximadamente un año. Sin embargo, el problema es que si una instalación estándar no lo incluyó, entonces no puede confiar en él. –

0

Si usted tiene una lista de los dispositivos de bloque plausibles, entonces el archivo

/sys/block/[blockdevname]/extraíble

contendrá "1" si el dispositivo es desmontable, "0" si no es removible

+0

Un disco duro USB externo es extraíble, pero todavía puede arrancar un sistema desde allí, por lo que en este caso, la verificación de "extraíble" puede no ser suficiente. –

+0

Sí, lo sé. Leyendo un poco las líneas, supongo que OP quiere que la instalación vaya al disco duro (interno, no extraíble) y no vuelva a formatear el dispositivo USB que se conectó (quizás porque ahí es donde reside el programa de instalación) .. – janneb

+0

Hay una diferencia entre la memoria USB y el disco duro USB. Por ejemplo, en Windows, incluso se mostrarán con diferentes iconos. Si le preocupa reformatear su dispositivo USB de instalación, probablemente pueda eliminar explícitamente ese dispositivo en particular de la lista. Él sabe dónde está la ruta de acceso de su propio programa de ejecución, así que simplemente verifique el archivo/etc/mtab para el dispositivo correspondiente y lo excluya de la lista. –

5

Como shuttle87 señaló, hay varios otros mensajes que responden a esta pregunta. La solución que yo prefiero es:

root# lsblk -io NAME,TYPE,SIZE,MOUNTPOINT,FSTYPE,MODEL

NAME TYPE SIZE MOUNTPOINT FSTYPE   MODEL 
sdb  disk 2.7T        WDC WD30EZRX-00D 
`-sdb1 part 2.7T   linux_raid_member 
    `-md0 raid1 2.7T /home  xfs    
sda  disk 1.8T        ST2000DL003-9VT1 
|-sda1 part 196.1M /boot  ext3    
|-sda2 part 980.5M [SWAP]  swap    
|-sda3 part 8.8G/  ext3    
|-sda4 part  1K        
`-sda5 part 1.8T /samba  xfs    
sdc  disk 2.7T        WDC WD30EZRX-00D 
`-sdc1 part 2.7T   linux_raid_member 
    `-md0 raid1 2.7T /home  xfs    
sr0  rom 1024M        CDRWDVD DH-48C2S 

Referencias:

Cuestiones relacionadas