Есть ли возможность полностью скрыть один физический HDD от Ubuntu 16.04 LTS?

Появилась необходимость в двух ОС. Поставил второй ОСью Win7 (на отдельный HDD), проапдейтил grub, тут все как по маслу. Сейчас необходимо сделать так, чтобы при старте Ubuntu и выполнении fdisk она не видела винт на котором стоит винда. !не не монтировала, именно не видела! Прошерстив много англоязычного чтива выяснил, что такая возможность есть, создав собственное правило для демона udev. В теории все просто: создаем собственное правило в /etc/udev/rules.d/20-myudev.rules c содержимым:
SUBSYSTEM=="block", ATTRS{model}=="HDS722580VLAT20 ", OPTIONS:="ignore_device"
необходимые значения получаем в результате выполнения:
udevadm info -a -n /dev/sda
сохраняем файл, рестартим udev и в теории все должно работать. Но чуда не произошло...Почитав еще, пришел еще к одному варианту:
SUBSYSTEM=="block", ATTRS{model}=="HDS722580VLAT20 ", ENV {UDISKS_IGNORE} = «1»
но и он не сработал. В результате выполнения тестирования:
udevadm test dev/sda1
получается, что мое правило считывается без ошибок:
version 229
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          229
file size:         7064122 bytes
header size             80 bytes
strings            1764282 bytes
nodes              5299760 bytes
Load module index
timestamp of '/etc/systemd/network' changed
timestamp of '/lib/systemd/network' changed
Parsed configuration file /lib/systemd/network/99-default.link
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /etc/udev/rules.d/30-myudev.rules
Reading rules file: /lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /lib/udev/rules.d/40-crda.rules

но в результате вываливается ошибка:
rules contain 393216 bytes tokens (32768 * 12 bytes), 35796 bytes strings
26645 strings (221318 bytes), 23040 de-duplicated (189128 bytes), 3606 trie nodes used
sd-device: syspath '/sysdev/sda1' is not a subdirectory of /sys
unable to open device '/sysdev/sda1'
Unload module index
Unloaded link configuration context.

Хотелось бы выслушать мнение более опытных линуксоидов, что я делаю не так и каким образом возможно сделать то, что мне необходимо.
  • Вопрос задан
  • 1349 просмотров
Пригласить эксперта
Ответы на вопрос 3
/sysdev/sda1

Откуда вы взяли такой путь?
Ответ написан
@pfg21
ex-турист
поигрался c 16.04, результат в спойлере
udevadm info -a -n /dev/sda
looking at device '/devices/pci0000:00/0000:00:07.1/ata1/host0/target0:0:0/0:0:0:0/block/sda':
KERNEL=="sda"
SUBSYSTEM=="block"
DRIVER==""
ATTR{alignment_offset}=="0"
ATTR{capability}=="50"
ATTR{discard_alignment}=="0"
ATTR{events}==""
ATTR{events_async}==""
ATTR{events_poll_msecs}=="-1"
ATTR{ext_range}=="256"
ATTR{inflight}==" 0 0"
ATTR{range}=="16"
ATTR{removable}=="0"
ATTR{ro}=="0"
ATTR{size}=="625140335"
ATTR{stat}=="15934769 6700311 769875367 35978384 684761 382635 88319416 27522076 0 21761480 63430820"

looking at parent device '/devices/pci0000:00/0000:00:07.1/ata1/host0/target0:0:0/0:0:0:0':
KERNELS=="0:0:0:0"
SUBSYSTEMS=="scsi"
DRIVERS=="sd"
ATTRS{device_blocked}=="0"
ATTRS{device_busy}=="0"
ATTRS{dh_state}=="detached"
ATTRS{eh_timeout}=="10"
ATTRS{evt_capacity_change_reported}=="0"
ATTRS{evt_inquiry_change_reported}=="0"
ATTRS{evt_lun_change_reported}=="0"
ATTRS{evt_media_change}=="0"
ATTRS{evt_mode_parameter_change_reported}=="0"
ATTRS{evt_soft_threshold_reached}=="0"
ATTRS{inquiry}==""
ATTRS{iocounterbits}=="32"
ATTRS{iodone_cnt}=="0x10072bd"
ATTRS{ioerr_cnt}=="0x493"
ATTRS{iorequest_cnt}=="0x10072bd"
ATTRS{model}=="Hitachi HDP72503"
ATTRS{queue_depth}=="1"
ATTRS{queue_type}=="none"
ATTRS{rev}=="A4CA"
ATTRS{scsi_level}=="6"
ATTRS{state}=="running"
ATTRS{timeout}=="30"
ATTRS{type}=="0"
ATTRS{vendor}=="ATA "
ATTRS{vpd_pg80}==""
ATTRS{vpd_pg83}==""

Если приглядеться то видно что атрибут ATTRS{model}=="Hitachi HDP72503" находится в одном разделе с SUBSYSTEMS=="scsi", а в разделе с SUBSYSTEM=="block" нет "модели".
т.е. матчинг по твоему правилу не сработает никогда.
посмотри вывод своего info, мож изза этого.

я бы блочил непосредственно разделы с файловыми системами, у них есть UUID
Ответ написан
@zlen13
попробуй выполнить udevadm test /block/sda
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы