I downloaded BIOS exe file.
Using 7-zip I extracted all files
![]()
I edited BIOS and now want to flash it.
I want to know how to do it using USB because I want to know how to flash OEM bios one in case edited will brick laptop.
You see an image. What to go guys?
-
-
ScuderiaConchiglia NBR Vaio Team Curmudgeon
First a warning, then I'll point you in the right direction.
The warning: first know that it is POSSIBLE that if you screw up the BIOS you might not be able to boot from a USB drive to restore it. The BIOS is what contains the boot up code. Bricking a machine means it won't boot at all.
OK you have been warned, now the direction. What you need to do is google for info on creating a bootable USB memory stick. There are all sorts of sites with that info. Once you have done that you copy your files to that bootable device. Then you boot up the machine and depending on the BIOS you can either hit a function key that lets you select the boot device OR you go into the BIOS and change the boot device sequence, making the USB stick show up higher in the list than the hard drive.
Gary -
Actually, this ones using AFUWIN (flashing through Windows, notice the .exe files 'flup64.exe'). If it were AFUDOS, then you would need to flash through DOS. Never used AFUWIN before. . .
Flashing through Windows is eh, not really recommended and I second the above warning though. -
Aha! Now I see what is fla. But This is file fla.config. It will flash not the main BIOS but 128 KB ROM file.
[START CONFIG]
# EON EN25F10
# ---------------
FLASH_ID = 0x101C # Device ID & Manufacture
FLASH_SIZE = 128 # (128) Flash size in KBytes
SECTOR_DEF = 32:4K # 32 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type.
# There are two ways to read the flash ID (depending on the flash type).
# A. Send the "Read ID" op-code, send 3 dummy address bytes and then read the ID bytes
# B. Send the "Read ID" op-code and immediately read the ID bytes.
# When the value in this field is 0x47, method B is used. Otherwise
# (any other value) method A is used.
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit , when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-4 # Protected sectors (0 to 4)
[END CONFIG]
[START CONFIG]
# AMIC A25L10
# ---------------
FLASH_ID = 0x1037 # Device ID & Manufacture
FLASH_SIZE = 128 # (128) Flash size in KBytes
SECTOR_DEF = 32:4K # 32 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type.
# There are two ways to read the flash ID (depending on the flash type).
# A. Send the "Read ID" op-code, send 3 dummy address bytes and then read the ID bytes
# B. Send the "Read ID" op-code and immediately read the ID bytes.
# When the value in this field is 0x47, method B is used. Otherwise
# (any other value) method A is used.
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit , when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-4 # Protected sectors (0 to 4)
[END CONFIG]
[START CONFIG]
# Winbond W25x10
# ---------------
FLASH_ID = 0x10EF # Device ID & Manufacture
FLASH_SIZE = 128 # (128) Flash size in KBytes
SECTOR_DEF = 32:4K # 32 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type.
# There are two ways to read the flash ID (depending on the flash type).
# A. Send the "Read ID" op-code, send 3 dummy address bytes and then read the ID bytes
# B. Send the "Read ID" op-code and immediately read the ID bytes.
# When the value in this field is 0x47, method B is used. Otherwise
# (any other value) method A is used.
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit , when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-4 # Protected sectors (0 to 4)
[END CONFIG]
[START CONFIG]
# Winbond W25x80
# ---------------
FLASH_ID = 0x13EF # Device ID & Manufacture
FLASH_SIZE = 1024 # (1M) Flash size in KBytes
SECTOR_DEF = 256:4K # 256 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type.
# There are two ways to read the flash ID (depending on the flash type).
# A. Send the "Read ID" op-code, send 3 dummy address bytes and then read the ID bytes
# B. Send the "Read ID" op-code and immediately read the ID bytes.
# When the value in this field is 0x47, method B is used. Otherwise
# (any other value) method A is used.
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit , when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-4 # Protected sectors (0 to 4)
[END CONFIG]
[START CONFIG]
# Winbond W25x16
# ---------------
FLASH_ID = 0x14EF # Device ID & Manufacture
FLASH_SIZE = 2048 # (2M) Flash size in KBytes
SECTOR_DEF = 512:4K # 512 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type. Read with/without Dummy
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit, when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-4 # Protected sectors (0 to 4)
[END CONFIG]
[START CONFIG]
# Winbond W25x32
# ---------------
FLASH_ID = 0x15EF # Device ID & Manufacture
FLASH_SIZE = 4096 # (4M) Flash size in KBytes
SECTOR_DEF = 1024:4K # 1024 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type. Read with/without Dummy
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit, when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-3 # Protected sectors (0 to 3)
[END CONFIG]
[START CONFIG]
# SST 25LF040 0.5M
# ---------------
FLASH_ID = 0x44BF # Device ID & Manufacture
FLASH_SIZE = 512 # (0.5M) Flash size in KBytes
SECTOR_DEF = 128:4K # 128 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 32 # (32K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 1 # Page size in bytes
PROG_SIZE = 1 # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type. Read with/without Dummy
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x50 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0x52 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit, when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-1 # Protected sectors (0 to 1)
[END CONFIG]
[START CONFIG]
# MXIC MX25L1005C
# ---------------
FLASH_ID = 0x10C2 # Device ID & Manufacture
FLASH_SIZE = 128 # (128K) Flash size in KBytes
SECTOR_DEF = 32:4K # 32 sectors of 4K
# The format is: n:sK,n:sK,....,n:sK
# n - number of sectors
# s - size of sectors
BLOCK_SIZE = 64 # (64K) block size in Kbytes. If block erase is not supported then
# block size should be equal to FLASH_SIZE
PAGE_SIZE = 256 # Page size in bytes
PROG_SIZE = 0xFF # Max number of bytes that can be program at on time. FF --> means page size
READ_DEV_ID_TYPE = 0 # Read Device ID type.
# There are two ways to read the flash ID (depending on the flash type).
# A. Send the "Read ID" op-code, send 3 dummy address bytes and then read the ID bytes
# B. Send the "Read ID" op-code and immediately read the ID bytes.
# When the value in this field is 0x47, method B is used. Otherwise
# (any other value) method A is used.
# Define spi Flash commands
# --------------------------
CMD_READ_DEV_ID = 0x90 # Read device ID command.
CMD_WRITE_STAT_EN = 0x06 # Enable write to status register
CMD_WRITE_EN = 0x06 # Write enable
CMD_READ_STAT = 0x05 # Read status register
CMD_WRITE_STAT = 0x01 # Write status register
CMD_PROG = 0x02 # Page program, or byte program.
CMD_SECTOR_ERASE = 0x20 # Sector erase
CMD_BLOCK_ERASE = 0xD8 # Block erase
# Define device busy bits in status register
# -------------------------------------------
STATUS_BUSY_MASK = 0x01 # Location (by mask) of busy bit located in the status register
STATUS_REG_VAL = 0x00 # Value of status register busy bit , when device is not busy.
# The device is considered not busy when:
# [status register value] & STATUS_BUSY_MASK = STATUS_REG_VAL
# Define the protected sectors.
# -----------------------------
#PROTECTED_SECTORS = 0-4 # Protected sectors (0 to 4)
[END CONFIG]
And frankly speaking I doubt that just copying all that folder to bootable usb will do it.
I thought that I will rename rom file somehow and hit some combination of keys on keyboard. -
f lupdate -x 2 -bbl -vrd -noverify -nocomp -nopause -bec -runbsf Nflash.bsf K1120Y6.ROM
contained in UpdTW.bat flashes the 128 Kb ROM.
It invokes flupdate.exe which is a Windows program. Right click on it opens a Window, there's an entry "....Compatibility problems...." or similar.
With this you can check with which Windows version the program flupdate.exe is compatible.
If you want to flash it in DOS, you need a version of flupdate.exe for DOS.
I think you know that there's a chance you brick your notebook with the edited 128 KB ROM! -
This exactly why I do not really want to update 128 KB rom file.
I want to update 2MB rom file which is R1120Y6.ROM . This ROM file which I edited using AMIbcp 4.5. BTW Should I check any Check sum are the same or ID or else using HexEditor? Because this is exactly what I have no idea how to do.
Can you help me with WBFlash?
I must add that tried to flash using AmiWin but when I tried to only launch it my fan blowed to 300% and error message. After that it took 1 minute at least till fan came to normal speed. I guess I tried aptio folder -
You can try to load the changed BIOS ROM with MMTool for APTIO.
You can also check the integrity with Andy's PhoenixTool(works for EFI/Insyde BIOS).
If all is correct I would do following.
Invoke the downloaded EP0000235840.exe. It decompresses in a temporary folder in path C:\ProgramData\Sony Corporation\VAIO Packaging Manager\PackagingTemp and subsequently invokes WBFLASH.exe
After the information Window(see screenshot) pop ups, copy the content of above mentioned temporary created folder to another location, for example D:\XXXXX and quit the pop upped Window(see screenshot) with Abbrechen(Abort or similar; the lower red cycled button) to abort the flash. In the saved folder replace the BIOS ROM with yours and then invoke WBFLASH.exe as Administrator.
That should do the job. Please check yourself my recommended procedure for plausibility!
But you know, you flash at your own risk!
Edit: If you don't want to flash the 128 KB ROM(why not?) edit UpdTW.bat -
I think I can copy afuwin.exe, Rom file and edited bat file (rename it in autoexec.bat). Do I think correct?
Also As 128 KB Rom file is not edited by me than it is safer to not update it, am I right?
Danke schon! -
AFUDOS is required to flash through DOS. You can find the latest on AMIs site or take one from my download link in sig. Afuwin only works in Windows environment.
-
Open it with HxD and you will see
"This program cannot be run in DOS mode....$....."
You can edit the UpdTW.bat and delete the line
flupdate -x 2 -bbl -vrd -noverify -nocomp -nopause -bec -runbsf Nflash.bsf K1120Y6.ROM
But maybe there is a dependency between the 2 ROMs, so I wouldn't delete it.
You have to flash in Windows. -
How can I backup existing BIOS? I used Universal BIOS backup toolkit 2.0 and reports I made by MMTool are almost the same. The only difference was when report of original BIOS posted this:
|NO | FileName | GUID |Location| Size |Type|
+---+---------------+------------------------------------+--------+------+----+
|000| |CEF5B9A3-476D-497F-9FDC-E98143E0422C|00000048|00FFB8|RAW |
+---+---------------+------------------------------------+--------+------+----+
| Bytes Free : 000000 ( 0 KB) Bytes Used : 010000 ( 64 KB) |
+-----------------------------------------------------------------------------+
| Firmware Volume : 01 Location : 00010000 Length : 010000 |
+-----------------------------------------------------------------------------+
| Firmware Volume : 02 Location : 00020000 Length : 120000 |
---+---------------+------------------------------------+--------+------+----+
|000| |CEF5B9A3-476D-497F-9FDC-E98143E0422C|00000048|00FFB8|RAW |
+---+---------------+------------------------------------+--------+------+----+
| Bytes Free : 000000 ( 0 KB) Bytes Used : 010000 ( 64 KB) |
+-----------------------------------------------------------------------------+
| Firmware Volume : 01 Location : 00010000 Length : 010000 |
+---+---------------+------------------------------------+--------+------+----+
|NO | FileName | GUID |Location| Size |Type|
+---+---------------+------------------------------------+--------+------+----+
|000| |CEF5B9A3-476D-497F-9FDC-E98143E0422C|00010048|00FFB8|RAW |
+---+---------------+------------------------------------+--------+------+----+
| Bytes Free : 000000 ( 0 KB) Bytes Used : 010000 ( 64 KB) |
+-----------------------------------------------------------------------------+
| Firmware Volume : 02 Location : 00020000 Length : 120000 |
I tried to use Amiflash/Aptio/amiwin64 which I downloaded fro AMI to see GUI and back up but suddenly I had error message and fan blowing 300% of his maximum speed! It took about 1 minute to go back in normal.
also under recovery articles of AMI in the Internet I saw that AMI says to create autoexec.bat with this line amif895.exe /iamiboot.rom /pbnc /n While only for ASUS it is recommended to use afudos. What do you think guys?
The reason I don't want to flash in Windows is:
I can't! Wbflasher says that I already have the same version of BIOS! I need to find out a proper key so it wouldn't check the current version. 1 guy who did this did not answer me
Another reason is that I afraid that I edited BIOS wrong. Do I have to check some checksum and PCI ID?? -
Maybe you can flash a previous version of the BIOS and subsequently the changed.
-
I asked for previous version from guys on owner's forum 2 days ago but no one replied
You think in the same way as I
-
I found BIOS Update version R1120Y6 in the net.
Here's the link
MEGAUPLOAD - The leading online storage and file delivery service
I hope this helps.
Good luck.
How to flash BIOS AMI efi using USB drive on Sony VAIO f12?
Discussion in 'Windows OS and Software' started by James D, Oct 9, 2011.