4

Для некоторых тестов мне нужно получить доступ к чему-то вроде /dev /sda в моей программе.

Но я не могу сделать это на своем жестком диске. Ты знаешь почему:D

Есть ли способ создать /dev /sdb с использованием оперативной памяти или файла на другом диске? Мне просто нужно, чтобы он был там и действовал как диск, пока я его использую, несмотря ни на что.

Я знаю, что могу использовать виртуальные машины для этого, но это предполагает установку Linux. Это занимает много времени и не так элегантно.

3 ответа3

3

Что-то вроде /dev /sdX может быть трудно сделать, однако вы можете использовать USB-накопитель для удовлетворения потребностей (хотя у меня есть решение для взлома для вас, хотя)

В более общем смысле вы можете создать блочное устройство, создав раздел (dd if =/dev/zero of = file.img count = 102400), а затем смонтировав его как устройство обратной связи (losttup /dev/loopX file.img), Вы можете рассматривать петлевое устройство как блочное устройство (например, использовать на нем FDISK). Если вы хотите получить доступ к разделам, вы можете использовать partx -a /dev/loopX

После создания вашего петлевого устройства, вы можете создать символические ссылки на него, поэтому ln -s /dev /loop0 /dev /sdz ln -s /dev /loop0p1 /dev /sdz1

Что даст вам /dev /sdz и /dev /sdz1 (что, конечно же, в конечном итоге относится к файлу обратной петли, который вы сделали).

1

Да, вы можете создать RAM-диск, вот инструкция, как это сделать:

Как создать RAM диск в Linux

0

Используйте проект BUSE для этого. Он реализует блочное устройство на основе RAM-диска в пространстве пользователя. https://github.com/acozzette/BUSE

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .