LINUX.ORG.RU

В linux не записываются флешки с linux

 , , ,


0

1

Суть в том, что записать флешку с любым дистрибутивом linux у меня получается только в Rufus из под винды. Когда я записываю флешку balena etcherом или каким-нибудь другим инструментом из под linux, ни компьютер, ни ноотбук с нее не загружается. В чем причина?

Ответ на: комментарий от Vsevolod-linuxoid

Зато дисковый кеш используется.

На чтение На флешке нет кэша.

Серьезно, запусти запись с и без этого параметра, и увидишь, как без «быстрее».

Я хз, как ты это делаешь, у меня всю жизнь в линуксе (в дефолтном) пока dd на флешку не запишет инфу, терминал не отдаёт.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 3)
Ответ на: комментарий от Dimez
seva@hp15:~$ sudo dd if=/home/seva/isos/Rocky-8.8-x86_64-minimal.iso of=/dev/sdb bs=8M oflag=direct status=progress
2424307712 байт (2,4 GB, 2,3 GiB) скопирован, 94 s, 25,8 MB/s 
291+1 записей получено
291+1 записей отправлено
2447376384 байт (2,4 GB, 2,3 GiB) скопирован, 94,9528 s, 25,8 MB/s

Вот так выглядит запись с правильными опциями, при этом grep Dirty /proc/meminfo показывает околонулевые уровни в процессе.

А теперь запустим без опций oflag=direct status=progress и сразу видим использование кеша:

seva@hp15:~$ grep Dirty /proc/meminfo 
Dirty:           2306424 kB
seva@hp15:~$ grep Dirty /proc/meminfo 
Dirty:           2289844 kB
seva@hp15:~$ grep Dirty /proc/meminfo 
Dirty:           2263992 kB
seva@hp15:~$ grep Dirty /proc/meminfo 
Dirty:           2248724 kB

И при этом ты прав, действительно, dd не отпускает терминал, пока не кончит, но работает медленнее:

seva@hp15:~$ sudo dd if=/home/seva/isos/Rocky-8.8-x86_64-minimal.iso of=/dev/sdb bs=8M
291+1 записей получено
291+1 записей отправлено
2447376384 байт (2,4 GB, 2,3 GiB) скопирован, 178,483 s, 13,7 MB/s

Честно говоря, и сам удивлен. Я думал, что копировать в оперативку, а потом на диск будет быстрее, чем с диска на диск, но нет. Видимо, дело в том, что у меня SSD.

Тестил на одной и той же USB флешке в одном и том же порту.

seva@hp15:~$ uname -a
Linux hp15 5.15.0-83-generic #92-Ubuntu SMP Mon Aug 14 09:30:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
seva@hp15:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 21.2
Release:	21.2
Codename:	victoria
Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Dimez

Я хз, как ты это делаешь, у меня всю жизнь в линуксе (в дефолтном) пока dd на флешку не запишет инфу, терминал не отдаёт.

Отдаёт. И уже давно. Хотя есть дежавю на тему, что так когда-то не было.

AS ★★★★★
()
Ответ на: комментарий от AS

У меня нет. Ни одна флешка, ни (micro)SD/CF, от днищескоростных до очень скоростных. Может, ты тюнил vm.vfs_cache_pressure и прочие vm.*? Я проверял на ubuntu/debian/клонах EL - везде одинаковое поведение

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Может, ты тюнил vm.vfs_cache_pressure и прочие vm.*?

Вроде нет. Ну и по логике vfs_cache - это кэш ФС, а не просто /dev/sdb например. Вот:

# dd if=regular-rescue-latest-x86_64.iso of=/dev/sdb bs=1M
699+1 records in
699+1 records out
733220864 bytes (733 MB, 699 MiB) copied, 30,0362 s, 24,4 MB/s
И флешка продолжает моргать.
# dd if=regular-rescue-latest-x86_64.iso of=/dev/sdb bs=1M oflag=direct
699+1 records in
699+1 records out
733220864 bytes (733 MB, 699 MiB) copied, 47,6212 s, 15,4 MB/s
А тут не продолжает.

AS ★★★★★
()
Ответ на: комментарий от Dimez

Может, ты

А я понял, где засада. Не прошло и пары (десятков) лет. :-)
Если на флешке ничего нет, либо в ОС нет автомонтирования, то запись в /dev/sdb не кэшируется. Если флешка не пустая и смонтировалась, то запись кэшируется. Тормознул haldaemon, и всегда стало писаться, как с oflag=direct.

AS ★★★★★
()

Суть в том, что записать флешку с любым дистрибутивом linux у меня получается только в Rufus из под винды

На самом деле суть в том, что если на флешку пишется iso, то есть два варианта: записать правильно и записать неправильно. :-)

вариантов iso бывает два: обычный, для CD/DVD, и гибридный, для CD/DVD/Flash. Если первый вариант записать на флешку, как есть (у того же руфуса можно выбрать «режим dd»), то ничего не загрузится. Если второй вариант записать на флешку как обычный iso (для руфуса режим по умолчанию вроде), то тоже ничего не загрузится, так как руфус сломает этот гибридный iso. Надо занать, какой именно у тебя iso, и писать в правильном режиме.

AS ★★★★★
()