Если вашей целью является передача произвольных данных из файла на звуковую карту, тогда ваше решение надежное.
Если ваша цель - просто проверить, работает ли ваш звук, я бы порекомендовал команду динамик-тест
. По умолчанию он воспроизводится статично на одном канале. В системах на основе Debian он поступает из пакета alsa-utils
.
Я думаю, будет полезно, если вы попытаетесь пройти всю цепочку, начав с того места, где вы как компьютер только что завершили самотестирование при включении питания и вам было предложено запустить операционную систему с определенного диска. С MBR вы сталкиваетесь со многими историческими ограничениями и должны делать очень маленькие шаги и можете делать только очень простые вещи. С UEFI у вас есть драйверы платформы, которые могут помочь вам абстрагироваться от оборудования и задач.
Цепь МБР:
MBR с цепью GPT:
Поскольку вы по-прежнему загружаетесь по-старому, вам приходится полагаться на старые механизмы, такие как поиск следующей стадии загрузки ОС в разделе ОС в специальном первом секторе раздела.
Одной из необычных вещей, которые я увидел, было то, как разработчики chrx загружали сторонние Linux на Chromebook со специальной разметкой ChromeOS -GPT, насколько я помню, я не видел загрузочного раздела BIOS. Grub жалуется, что загружать с помощью списков блокировки небезопасно, но многие пользователи таким образом загружают свои Chromebook с пользовательским Linux.
Цепочка UEFI:
/boot/efi/EFI/ubuntu
) в системном разделе EFI в разделе ОС. Я синхронизировал корневые разделы, и мне нужно было только разместить образ Grub на разделе EFI в нужном месте (и пометить раздел ESP как таковой ). Обычно это не работает с более сложной цепочкой загрузки MBR, где вы должны убедиться, что не только файлы находятся в нужном месте, но и шаблоны данных в таблице разделов за таблицей разделов, что ваш раздел ОС не выходит за пределы диапазона, где на данном этапе к нему можно обратиться из кода загрузчика, и что это один из 4 первичных разделов, а не расширенных разделов (. Однако Grub может загружаться и в некоторых из этих сценариев ).
Надеюсь, я не вызвал большего замешательства. Извините, я не могу сказать проще в данный момент, и я не думаю, что сам понял всю тему, и я не участвую в написании кода в этом отношении.