2

I bought a laptop recently with a unknown bios password that I need to reset. It is running pop os, I also do have access to the OS.

I was wondering if there is any equivalent in Linux to the MS-DOS command or any general way to reset a bios password of a Linux system you do have access to.

debug
o 70 2E
o 71 FF
quit

EDIT: I'm running a Fujitsu Lifebook A series.

EDIT: Here is an explanation of the MS-DOS command for which I ask if there is a Linux derivative.

"The "o" character present at first in these commands, outputs the values to IO ports. The number 70 and 71 are port numbers which are used to access CMOS memory. By providing FF value we are telling CMOS that there is an invalid checksum and it resets the CMOS settings as well as BIOS password."

5
  • What is the "debug" command you mention? Is that its output you show in your question?
    – terdon
    Oct 26, 2020 at 11:16
  • As I understand that is the debug tool of MS-DOS.
    – Neil Meyer
    Oct 26, 2020 at 11:19
  • Yes, but what does it do? Does it somehow reset the bios password? What is the output you show in your question? Remember that we don't use Windows here, we're *nix people, so if you mention things from the Windows world, you need to explain what they are.
    – terdon
    Oct 26, 2020 at 11:28
  • I have made an edit.
    – Neil Meyer
    Oct 26, 2020 at 11:50
  • Thanks. So, have you tried searching for "reset a bios password of a Linux system"? I get hundreds of results. Did none of those work for you? How did they fail?
    – terdon
    Oct 26, 2020 at 11:53

1 Answer 1

2

As far as I can see, the Linux equivalent of that old MS-DOS debug trick would be:

modprobe nvram
printf "\xff" | dd of=/dev/nvram bs=1 seek=32

Explanation: the nvram module allows root to access the PC CMOS memory as /dev/nvram, starting from the 14th byte of it (the bytes 0..13 are reserved for the CMOS real-time clock which can be accessed through its own driver and the hwclock command). The CMOS address 0x2e used in the debug trick is 46 in decimal, and 46 - 14 = 32, so you would want to overwrite the corresponding byte of /dev/nvram with value 0xff.

If the CMOS memory follows the classic layout, this CMOS address 0x2e is the most significant byte of the CMOS checksum. Writing 0xff into it will most likely cause the checksum to be invalid. This is supposed to cause the BIOS settings to reset to factory defaults... including clearing the BIOS password.

However, because laptops are prone to be stolen, some manufacturers have upgraded the password security mechanism from the classic model. Just invalidating the CMOS checksum will not necessarily remove the password. The presence of a password that cannot be easily reset reduces the value of a stolen laptop for a thief.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .