Olá amigo,
Na verdade não se trata de erro físico mas sim em razão do disco possuir blocos com 520 ao invés de 512 bytes, discos com blocos de 520 não podem ser utilizados no Linux ou qualquer outro sistema Unix, sem antes a mudança dos blocos para 512, discos com blocos de 520 normalmente são utilizados em storages proprietários como Sun, Hitachi, EMC², IBM AS/400 e outros. Muitas pessoas que não sabem disso condenam o disco achando se tratar de um defeito mas nesse caso não é.
A controladora SCSI num disco com blocos de 512 reconhece o disco durante o boot e atribuem a letra da unidade + int 80 ou 81 e mostram a menssagem Bios instalada com sucesso, no caso de discos com blocos de 520 a controladora só mostra a ID, marca, modelo e capacidade, ou seja a própria controladora reconhece a capacidade do disco mas não consegue manuseá-lo adequadamente.
Fiz um teste rápido ontem utilizando o freebsd para gravar o tamanho do bloco e ao inserir o comando o sistema respondeu que não era possível escrever 512 porque o disco possui 520, dando parâmetro inválido, se alterado para 520 ele aceita o comando normalmente, é como se tivesse uma instrução no firmware do disco dizendo não permita escrita diferente!
Comando: newfs -O2 -U -b 4096 -f 512 -i 2048 /dev/da0
Foi o único até agora que reportou que não podia reescrever em cima de 520.
Já pesquisei bastante é a única solução que encontrei foi essa, mas infelizmente não estou tendo sucesso.
De qualquer forma obrigado pela ajuda!
Marcelo
Converting 520 blocks to 512
Home : System Administration : Converting a 520-block disk in Solaris
One strange problem that I've come upon in buying secondhand enterprise hardware are fiber channel disks (such as those that my Sun Blade 1000 takes) sometimes come formatted in a 520-byte block size. Apparently these 520-byte blocks are used by a number of high-end RAID arrays that are the source for bulk quantitites of fiber channel disks, but the 520-byte block size renders them unformattable to Solaris. Reformatting such a disk to 512-byte blocks is not hard, but it is not an immediately intuitive process.
Here is what I did to convert one 520-byte block FC disk (that came out of an EMC CLARiiON array) to a 512-byte block size:
Get scu, the SCSI command utility. I think the original website for this tool no longer exists, and I initially got it from this page. In case that page also goes down, I've mirrored the Solaris/SPARC binary of scu myself.
Unzip and untar the package, and chmod a+x scu to make the binary executable.
Run the Solaris format utility to identify the raw disk to be fixed. In my case, it was
1. c1t2d0 <SEAGATE-ST373405CLAR72-4A3C cyl 8737 alt 2 hd 255 sec 63>
Launch scu on that device (e.g., ./scu -f /dev/rdsk/c1t2d0s0)
Issue the following commands from within scu:
set bypass on
set device block-length 512
format
After a really long time (55 minutes in my case), it'll finish. Then simply issue stop to spin down the disk and then exit to clean up.
Enter format again, select the disk, then enter verify. It should indicate bytes/sector = 512 or that the block size has been changed correctly.
At this point the disk still isn't usable though. Enter type, then select 0. Auto configure. This may or may not require another very long (like eighteen hours) deep format; I did this deep format prior to this step so it didn't ask me for anything.
After this, issue a label command and it should succeed.
A touch /reconfigure followed by a reboot is necessary to make the disk completely usable I think.
After this, this disk should be a valid target for a command like newfs. I had some amount of trouble being able to add the fixed disk to a zpool immediately after following the above procedure; I wound up trying newfs /dev/rdsk/c1t2d0 followed by zpool create -f newpool c1t2d0 to get the disk completely usable.
For the source of some of this procedure, here's the link. It also explains how to do it in Linux.