Я нашел решение в этом pdf (ищите команду Indetify Device), и здесь есть хороший код C здесь . Существует также много информации о osdev , которая, на мой взгляд, является наилучшей, если вам не очень нравится читать исходные коды. С Bochs он работает отлично, с Qemu он работает отлично, с моим настольным ПК он работает нормально, но, конечно, ноутбуки чувствуют себя несколько особенными, поэтому я пока не могу заставить его работать на них. Один печатает 40 символов, которые выглядят как пи, а другой вообще ничего не печатает. Если у вас есть идеи, в чем может быть дело, поделитесь своим мнением со мной. Надеюсь, что ссылки помогут другим, кто ищет эту информацию.
EDIT
ок, мой плохой (конечно), я забыл ждать BSY. Правильный способ получения нужной информации аналогичен описанию команды osdev под командой IDENTIFY. Также убедитесь, что вы прочитали все данные после отправки команды, иначе индикатор занятости не погаснет.