A lot of duplicated entries in the output of `efibootmgr`

After using nixos for some time, it is gen 107 now. I use UEFI as bootloader. In the linux boot menu, it only shows the last 3 gens I still have on disk. But both the firmware boot menu (the F12 boot menu on my mother board) and efibootmgr shows a lot of boot entries. Is it normal behavior? How can I clean these entries?

> efibootmfr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0002,0003,0004,0005,0006,0007,0008,0009,000A,000B,000C,000D,000E,000F,0010,0011,0012,0013,0014,0015,0016,0017,0018,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022,0023,0024,0025,0026,0027,0028,0029,002A,002B,002C,002E,002F,0031,0032,0033,0034,0035,0036,0037,0038,0039,003A,003B,003C,003E,003F,0040,0041,0042,0043,0044,0045,0046,0047,0048,0049,004A,004B,004C,004D,004E,004F,0050,0051,0052,0053,0054,0055,0056,0057,0058,0059,005A,005B,005C,005D,005E,005F,0060,0061,0062,0063,0064,0065,0066,0067,0068,0069,006B,006C,006D,006E,006F,0070,0001
Boot0000* Linux Boot Manager
Boot0001* Hard Drive
Boot0002* UEFI: ... SSD ..., Partition 1
Boot0003* UEFI: ... SSD ..., Partition 1
Boot0004* UEFI: ... SSD ..., Partition 1
Boot0005* UEFI: ... SSD ..., Partition 1
...
Boot006C* UEFI: ... SSD ..., Partition 1
Boot006D* UEFI: ... SSD ..., Partition 1
Boot006E* UEFI: ... SSD ..., Partition 1
Boot006F* UEFI: ... SSD ..., Partition 1
Boot0070* UEFI OS

After update the Bios firmware, the duplicated entries are gone. Maybe it was some bios related issues, rather than nixos issue? Anyway, the issue was resolved.