Existe uma maneira de criar uma unidade de disco fictícia?

4

Para alguns testes, preciso acessar algo como / dev / sda no meu programa.

Mas não posso fazer isso no meu próprio disco rígido. Você sabe porque: D

Existe uma maneira de criar / dev / sdb usando RAM ou um arquivo em outro disco? Eu só preciso que ele esteja lá, e aja como um disco enquanto eu estou usando, não importa o que aconteça.

Eu sei que posso usar máquinas virtuais para isso, mas que invoca a instalação de um linux. Isso é demorado e não é tão elegante.

    
por vfsoraki 27.02.2014 / 09:19

3 respostas

3

Algo como / dev / sdX pode ser difícil de fazer, mas você pode usar uma unidade USB para atender a necessidade (eu tenho uma solução de hack para você)

Em um sentido mais geral, você pode criar um dispositivo de bloco criando uma partição (dd if = / dev / zero de = file.img count = 102400) e montando-o como um dispositivo de loopback (arquivo losetup / dev / loopX .img) Você pode tratar o dispositivo de loop como um dispositivo de bloco (por exemplo, usar o FDISK nele). Se você quiser acessar partições, use partx -a / dev / loopX

Depois de criar seu dispositivo de loopback, parece que você pode criar links simbólicos para ele. ln -s / dev / loop0 / dev / sdz ln -s / dev / loop0p1 / dev / sdz1

O que lhe dará / dev / sdz e / dev / sdz1 (que, é claro, se referem ao arquivo de loopback que você criou).

    
por 27.02.2014 / 09:49
1

Sim, você pode criar um disco RAM, aqui estão instruções de como fazer isso:

Como criar um disco RAM no Linux

    
por 27.02.2014 / 10:09
0

Use o projeto BUSE para isso. Ele implementa um dispositivo de bloco com base no disco RAM no espaço do usuário. link

    
por 16.02.2018 / 15:04