Advertisement
Guest User

parts

a guest
Oct 14th, 2014
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 15.53 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3.  
  4.  
  5. get_part_txt()
  6. {
  7.     local P_TYPE="$(tr '[:upper:]' '[:lower:]' <<< "${1}")"
  8.  
  9.     case "${P_TYPE}" in
  10. # https://github.com/karelzak/util-linux/blob/cbebd20d26b8d06e28e67a07050967668af7ce08/include/pt-mbr-partnames.h
  11. # http://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/include/pt-mbr-partnames.h
  12.         '0x00' | '0x0' | '00000000-0000-0000-0000-000000000000')
  13.             echo 'Empty'
  14.             ;;
  15.         '0x01' | '0x1')
  16.             echo 'FAT12'
  17.             ;;
  18.         '0x02' | '0x2')
  19.             echo 'XENIX root'
  20.             ;;
  21.         '0x03' | '0x3')
  22.             echo 'XENIX usr'
  23.             ;;
  24.         '0x04' | '0x4')
  25.             echo 'FAT16 <32M'
  26.             ;;
  27.         '0x05' | '0x5')
  28.             echo 'Extended'                     # DOS 3.3+ extended partition
  29.             ;;
  30.         '0x06' | '0x6')
  31.             echo 'FAT16'                        # DOS 16-bit >=32M
  32.             ;;
  33.         '0x07' | '0x7')
  34.             echo 'HPFS/NTFS/exFAT'              # OS/2 IFS, eg, HPFS or NTFS or QNX
  35.             ;;
  36.         '0x08' | '0x8')
  37.             echo 'AIX'                          # AIX boot (AIX -- PS/2 port) or SplitDrive
  38.             ;;
  39.         '0x09' | '0x9')
  40.             echo 'AIX bootable'                 # AIX data or Coherent
  41.             ;;
  42.         '0x0a' | '0xa')
  43.             echo 'OS/2 Boot Manager'            # OS/2 Boot Manager
  44.             ;;
  45.         '0x0b' | '0xb')
  46.             echo 'W95 FAT32'
  47.             ;;
  48.         '0x0c' | '0xc')
  49.             echo 'W95 FAT32 (LBA)'              #LBA really is `Extended Int 13h'
  50.             ;;
  51.         '0x0e' | '0xe')
  52.             echo 'W95 FAT16 (LBA)'
  53.             ;;
  54.         '0x0f' | '0xf')
  55.             echo 'W95 Ext`d (LBA)'
  56.             ;;
  57.         '0x10')
  58.             echo 'OPUS'
  59.             ;;
  60.         '0x11')
  61.             echo 'Hidden FAT12'
  62.             ;;
  63.         '0x12')
  64.             echo 'Compaq diagnostics'
  65.             ;;
  66.         '0x14')
  67.             echo 'Hidden FAT16 <32M'
  68.             ;;
  69.         '0x16')
  70.             echo 'Hidden FAT16'
  71.             ;;
  72.         '0x17')
  73.             echo 'Hidden HPFS/NTFS'
  74.             ;;
  75.         '0x18')
  76.             echo 'AST SmartSleep'
  77.             ;;
  78.         '0x1b')
  79.             echo 'Hidden W95 FAT32'
  80.             ;;
  81.         '0x1c')
  82.             echo 'Hidden W95 FAT32 (LBA)'
  83.             ;;
  84.         '0x1e')
  85.             echo 'Hidden W95 FAT16 (LBA)'
  86.             ;;
  87.         '0x24')
  88.             echo 'NEC DOS'
  89.             ;;
  90.         '0x27')
  91.             echo 'Hidden NTFS WinRE'
  92.             ;;
  93.         '0x39')
  94.             echo 'Plan 9'
  95.             ;;
  96.         '0x3c')
  97.             echo 'PartitionMagic recovery'
  98.             ;;
  99.         '0x40')
  100.             echo 'Venix 80286'
  101.             ;;
  102.         '0x41')
  103.             echo 'PPC PReP Boot'
  104.             ;;
  105.         '0x42')
  106.             echo 'SFS'
  107.             ;;
  108.         '0x4d')
  109.             echo 'QNX4.x'
  110.             ;;
  111.         '0x4e')
  112.             echo 'QNX4.x 2nd part'
  113.             ;;
  114.         '0x4f')
  115.             echo 'QNX4.x 3rd part'
  116.             ;;
  117.         '0x50')
  118.             echo 'OnTrack DM'
  119.             ;;
  120.         '0x51')
  121.             echo 'OnTrack DM6 Aux1'             # (or Novell)
  122.             ;;
  123.         '0x52')
  124.             echo 'CP/M'                         # CP/M or Microport SysV/AT
  125.             ;;
  126.         '0x53')
  127.             echo 'OnTrack DM6 Aux3'
  128.             ;;
  129.         '0x54')
  130.             echo 'OnTrackDM6'
  131.             ;;
  132.         '0x55')
  133.             echo 'EZ-Drive'
  134.             ;;
  135.         '0x56')
  136.             echo 'Golden Bow'
  137.             ;;
  138.         '0x5c')
  139.             echo 'Priam Edisk'
  140.             ;;
  141.         '0x61')
  142.             echo 'SpeedStor'
  143.             ;;
  144.         '0x63')
  145.             echo 'GNU HURD or SysV'
  146.             ;;
  147.         '0x64')
  148.             echo 'Novell Netware 286'
  149.             ;;
  150.         '0x65')
  151.             echo 'Novell Netware 386'
  152.             ;;
  153.         '0x70')
  154.             echo 'DiskSecure Multi-Boot'
  155.             ;;
  156.         '0x75')
  157.             echo 'PC/IX'
  158.             ;;
  159.         '0x80')
  160.             echo 'Old Minix'                    # Minix 1.4a and earlier
  161.             ;;
  162.         '0x81')
  163.             echo 'Minix / old Linux'            # Minix 1.4b and later
  164.             ;;
  165.         '0x82')
  166.             echo 'Linux swap / Solaris'
  167.             ;;
  168.         '0x83')
  169.             echo 'Linux'
  170.             ;;
  171.         '0x84')
  172.             echo 'OS/2 hidden C: drive'
  173.             ;;
  174.         '0x85')
  175.             echo 'Linux extended'
  176.             ;;
  177.         '0x86')
  178.             echo 'NTFS volume set'
  179.             ;;
  180.         '0x87')
  181.             echo 'NTFS volume set'
  182.             ;;
  183.         '0x88')
  184.             echo 'Linux plaintext'
  185.             ;;
  186.         '0x8e')
  187.             echo 'Linux LVM'
  188.             ;;
  189.         '0x93')
  190.             echo 'Amoeba'
  191.             ;;
  192.         '0x94')
  193.             echo 'Amoeba BBT'                   # (bad block table)
  194.             ;;
  195.         '0x9f')
  196.             echo 'BSD/OS'                       # BSDI
  197.             ;;
  198.         '0xa0')
  199.             echo 'IBM Thinkpad hibernation'
  200.             ;;
  201.         '0xa5')
  202.             echo 'FreeBSD'                      # various BSD flavours
  203.             ;;
  204.         '0xa6')
  205.             echo 'OpenBSD'
  206.             ;;
  207.         '0xa7')
  208.             echo 'NeXTSTEP'
  209.             ;;
  210.         '0xa8')
  211.             echo 'Darwin UFS'
  212.             ;;
  213.         '0xa9')
  214.             echo 'NetBSD'
  215.             ;;
  216.         '0xab')
  217.             echo 'Darwin boot'
  218.             ;;
  219.         '0xaf')
  220.             echo 'HFS / HFS+'
  221.             ;;
  222.         '0xb7')
  223.             echo 'BSDI fs'
  224.             ;;
  225.         '0xb8')
  226.             echo 'BSDI swap'
  227.             ;;
  228.         '0xbb')
  229.             echo 'Boot Wizard hidden'
  230.             ;;
  231.         '0xbe')
  232.             echo 'Solaris boot'
  233.             ;;
  234.         '0xbf')
  235.             echo 'Solaris'
  236.             ;;
  237.         '0xc1')
  238.             echo 'DRDOS/sec (FAT-12)'
  239.             ;;
  240.         '0xc4')
  241.             echo 'DRDOS/sec (FAT-16 < 32M)'
  242.             ;;
  243.         '0xc6')
  244.             echo 'DRDOS/sec (FAT-16)'
  245.             ;;
  246.         '0xc7')
  247.             echo 'Syrinx'
  248.             ;;
  249.         '0xda')
  250.             echo 'Non-FS data'
  251.             ;;
  252.         '0xdb')
  253.             echo 'CP/M / CTOS / ...'            # CP/M or Concurrent CP/M or Concurrent DOS or CTOS
  254.             ;;
  255.         '0xde')
  256.             echo 'Dell Utility'                 # Dell PowerEdge Server utilities
  257.             ;;
  258.         '0xdf')
  259.             echo 'BootIt'                       # BootIt EMBRM
  260.             ;;
  261.         '0xe1')
  262.             echo 'DOS access'                   # DOS access or SpeedStor 12-bit FAT extended partition
  263.             ;;
  264.         '0xe3')
  265.             echo 'DOS R/O'                      # DOS R/O or SpeedStor
  266.             ;;
  267.         '0xe4')
  268.             echo 'SpeedStor'                    # SpeedStor 16-bit FAT extended partition < 1024 cyl.
  269.             ;;
  270.         '0xeb')
  271.             echo 'BeOS fs'
  272.             ;;
  273.         '0xee')
  274.             echo 'GPT'                          # Intel EFI GUID Partition Table
  275.             ;;
  276.         '0xef')
  277.             echo 'EFI (FAT-12/16/32)'           # Intel EFI System Partition
  278.             ;;
  279.         '0xf0')
  280.             echo 'Linux/PA-RISC boot'           # Linux/PA-RISC boot loader
  281.             ;;
  282.         '0xf1')
  283.             echo 'SpeedStor'
  284.             ;;
  285.         '0xf4')
  286.             echo 'SpeedStor'                    # SpeedStor large partition
  287.             ;;
  288.         '0xf2')
  289.             echo 'DOS secondary'                # DOS 3.3+ secondary
  290.             ;;
  291.         '0xfb')
  292.             echo 'VMware VMFS'
  293.             ;;
  294.         '0xfc')
  295.             echo 'VMware VMKCORE'               # VMware kernel dump partition
  296.             ;;
  297.         '0xfd')
  298.             echo 'Linux raid autodetect'        # New (2.2.x) raid partition with autodetect using persistent superblock
  299.             ;;
  300.         '0xfe')
  301.             echo 'LANstep'                      # SpeedStor >1024 cyl. or LANstep
  302.             ;;
  303.         '0xff')
  304.             echo 'BBT'                          # Xenix Bad Block Table
  305.             ;;
  306.  
  307. # https://github.com/karelzak/util-linux/blob/cbebd20d26b8d06e28e67a07050967668af7ce08/libfdisk/src/gpt.c
  308. # http://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/libfdisk/src/gpt.c
  309.         # Generic OS
  310.         'c12a7328-f81f-11d2-ba4b-00a0c93ec93b') # EFI system and related partitions
  311.             echo 'EFI System'                   # Parted identifies these as having the "boot flag" set
  312.             ;;
  313.         '024dee41-33e7-11d3-9d69-0008c781f39f')
  314.             echo 'MBR partition scheme'         # Used to nest MBR in GPT
  315.             ;;
  316.         'd3bfe2de-3daf-11df-ba40-e3a556d89593')
  317.             echo 'Intel Fast Flash'
  318.             ;;
  319.         'f4019732-066e-4e12-8273-346c5641494f')
  320.             echo 'Sony boot partition'
  321.             ;;
  322.  
  323.         # Hah!IdontneedEFI
  324.         '21686148-6449-6e6f-744e-656564454649')
  325.             echo 'BIOS boot'                    # Boot loader
  326.             ;;
  327.  
  328.         # Windows
  329.         'e3c9e316-0b5c-4db8-817d-f92df00215ae')
  330.             echo 'Microsoft reserved'
  331.             ;;
  332.         'ebd0a0a2-b9e5-4433-87c0-68b6b72699c7')
  333.             echo 'Microsoft basic data'
  334.             ;;
  335.         '5808c8aa-7e8f-42e0-85d2-e1e90434cfb3')
  336.             echo 'Microsoft LDM metadata'       # Logical disk manager
  337.             ;;
  338.         'af9b60a0-1431-4f62-bc68-3311714a69ad')
  339.             echo 'Microsoft LDM data'           # Logical disk manager
  340.             ;;
  341.         'de94bba4-06d1-4d40-a16a-bfd50179d6ac')
  342.             echo 'Windows recovery environment'
  343.             ;;
  344.         '37affc90-ef7d-4e96-91c3-2d7ae055b174') # An oddball IBM filesystem....
  345.             echo 'IBM General Parallel Fs'      # General Parallel File System (GPFS)
  346.             ;;
  347.         'e75caf8f-f680-4cee-afa3-b001e56efc2d')
  348.             echo 'Microsoft Storage Spaces'
  349.             ;;
  350.  
  351.         # HP-UX
  352.         '75894c1e-3aeb-11d3-b7c1-7b03a0000000') # I can find no MBR equivalents for these, but they're on the
  353.             echo 'HP-UX data'                   # Wikipedia page for GPT, so here we go....
  354.             ;;
  355.         'e2a1e728-32e3-11d6-a682-7b03a0000000')
  356.             echo 'HP-UX service'
  357.             ;;
  358.  
  359.         # Linux (http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec)
  360.         '0657fd6d-a4ab-43c4-84e5-0933c84b4f4f')
  361.             echo 'Linux swap'                   # Linux swap (or Solaris)
  362.             ;;
  363.         '0fc63daf-8483-4772-8e79-3d69d8477de4')
  364.             echo 'Linux filesystem'             # Linux native
  365.             ;;
  366.         '3b8f8425-20e0-4f3b-907f-1a25a76f98e8')
  367.             echo 'Linux server data'
  368.             ;;
  369.         '44479540-f297-41b2-9af7-d131d5f0458a')
  370.             echo 'Linux root (x86)'
  371.             ;;
  372.         '4f68bce3-e8cd-4db1-96e7-fbcaf984b709')
  373.             echo 'Linux root (x86-64)'
  374.             ;;
  375.         '8da63339-0007-60c0-c436-083ac8230908')
  376.             echo 'Linux reserved'
  377.             ;;
  378.         '933ac7e1-2eb4-4f13-b844-0e14e2aef915')
  379.             echo 'Linux home'
  380.             ;;
  381.         'a19d880f-05fc-4d3b-a006-743f0f84911e') # A straggler Linux partition type....
  382.             echo 'Linux RAID'
  383.             ;;
  384.         'bc13c2ff-59e6-4262-a352-b275fd6f7172')
  385.             echo 'Linux extended boot'
  386.             ;;
  387.         'e6d6d379-f507-44c2-a23c-238f2a3df928')
  388.             echo 'Linux LVM'
  389.             ;;
  390.         '7ffec5c9-2d00-49b7-8941-3ea10a5586b7')
  391.             echo 'Linux Plain dm-crypt partition'
  392.             ;;
  393.         'ca7d7ccb-63ed-4c53-861c-1742536059cc')
  394.             echo 'Linux LUKS partition'
  395.             ;;
  396.  
  397.         # FreeBSD
  398.         '516e7cb4-6ecf-11d6-8ff8-00022d09712b')
  399.             echo 'FreeBSD data'
  400.             ;;
  401.         '83bd6b9d-7f41-11dc-be0b-001560b84f0f')
  402.             echo 'FreeBSD boot'
  403.             ;;
  404.         '516e7cb5-6ecf-11d6-8ff8-00022d09712b')
  405.             echo 'FreeBSD swap'
  406.             ;;
  407.         '516e7cb6-6ecf-11d6-8ff8-00022d09712b')
  408.             echo 'FreeBSD UFS'
  409.             ;;
  410.         '516e7cba-6ecf-11d6-8ff8-00022d09712b')
  411.             echo 'FreeBSD ZFS'
  412.             ;;
  413.         '516e7cb8-6ecf-11d6-8ff8-00022d09712b')
  414.             echo 'FreeBSD Vinum'
  415.             ;;
  416.  
  417.         # Apple OSX
  418.         '48465300-0000-11aa-aa11-00306543ecac')
  419.             echo 'Apple HFS/HFS+'
  420.             ;;
  421.         '55465300-0000-11aa-aa11-00306543ecac')
  422.             echo 'Apple UFS'
  423.             ;;
  424.         '52414944-0000-11aa-aa11-00306543ecac')
  425.             echo 'Apple RAID'
  426.             ;;
  427.         '52414944-5f4f-11aa-aa11-00306543ecac')
  428.             echo 'Apple RAID offline'
  429.             ;;
  430.         '426f6f74-0000-11aa-aa11-00306543ecac')
  431.             echo 'Apple boot'                   # Mac OS partition types (See also 0xa800, above)....
  432.             ;;
  433.         '4c616265-6c00-11aa-aa11-00306543ecac')
  434.             echo 'Apple label'
  435.             ;;
  436.         '5265636f-7665-11aa-aa11-00306543ecac')
  437.             echo 'Apple TV recovery'
  438.             ;;
  439.         '53746f72-6167-11aa-aa11-00306543ecac')
  440.             echo 'Apple Core storage'
  441.             ;;
  442.  
  443.         # Solaris
  444.         '6a82cb45-1dd2-11b2-99a6-080020736631')
  445.             echo 'Solaris boot'
  446.             ;;
  447.         '6a85cf4d-1dd2-11b2-99a6-080020736631')
  448.             echo 'Solaris root'
  449.             ;;
  450.         '6a898cc3-1dd2-11b2-99a6-080020736631')
  451.             echo 'Solaris /usr & Apple ZFS'     # same as Apple ZFS
  452.             ;;
  453.         '6a87c46f-1dd2-11b2-99a6-080020736631')
  454.             echo 'Solaris swap'
  455.             ;;
  456.         '6a8b642b-1dd2-11b2-99a6-080020736631')
  457.             echo 'Solaris backup'
  458.             ;;
  459.         '6a8ef2e9-1dd2-11b2-99a6-080020736631')
  460.             echo 'Solaris /var'
  461.             ;;
  462.         '6a90ba39-1dd2-11b2-99a6-080020736631')
  463.             echo 'Solaris /home'
  464.             ;;
  465.         '6a9283a5-1dd2-11b2-99a6-080020736631')
  466.             echo 'Solaris alternate sector'
  467.             ;;
  468.         '6a945a3b-1dd2-11b2-99a6-080020736631')
  469.             echo 'Solaris reserved 1'
  470.             ;;
  471.         '6a9630d1-1dd2-11b2-99a6-080020736631')
  472.             echo 'Solaris reserved 2'
  473.             ;;
  474.         '6a980767-1dd2-11b2-99a6-080020736631')
  475.             echo 'Solaris reserved 3'
  476.             ;;
  477.         '6a96237f-1dd2-11b2-99a6-080020736631')
  478.             echo 'Solaris reserved 4'
  479.             ;;
  480.         '6a8d2ac7-1dd2-11b2-99a6-080020736631')
  481.             echo 'Solaris reserved 5'
  482.             ;;
  483.  
  484.         # NetBSD
  485.         '49f48d32-b10e-11dc-b99b-0019d1879648')
  486.             echo 'NetBSD swap'
  487.             ;;
  488.         '49f48d5a-b10e-11dc-b99b-0019d1879648')
  489.             echo 'NetBSD FFS'
  490.             ;;
  491.         '49f48d82-b10e-11dc-b99b-0019d1879648')
  492.             echo 'NetBSD LFS'
  493.             ;;
  494.         '2db519c4-b10e-11dc-b99b-0019d1879648')
  495.             echo 'NetBSD concatenated'
  496.             ;;
  497.         '2db519c4-b10f-11dc-b99b-0019d1879648')
  498.             echo 'NetBSD concatenated'
  499.             ;;
  500.         '2db519ec-b10e-11dc-b99b-0019d1879648')
  501.             echo 'NetBSD encrypted'
  502.             ;;
  503.         '2db519ec-b10f-11dc-b99b-0019d1879648')
  504.             echo 'NetBSD encrypted'
  505.             ;;
  506.         '49f48daa-b10e-11dc-b99b-0019d1879648')
  507.             echo 'NetBSD RAID'
  508.             ;;
  509.  
  510.         # ChromeOS
  511.         # Values taken from vboot_reference/firmware/lib/cgptlib/include/gpt.h in
  512.         # ChromeOS source code, retrieved 12/23/2010. They're also at
  513.         # http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format.
  514.         # These have no MBR equivalents, AFAIK, so I'm using 0x7Fxx values, since they're close
  515.         # to the Linux values.
  516.         'fe3a2a5d-4f32-41a7-b725-accc3285a309')
  517.             echo 'ChromeOS kernel'
  518.             ;;
  519.         '3cb8e202-3b7e-47dd-8a3c-7ff2a13cfcec')
  520.             echo 'ChromeOS root fs'
  521.             ;;
  522.         '2e0a753d-9e48-43b0-8337-b15192cb1b5e')
  523.             echo 'ChromeOS reserved'
  524.             ;;
  525.  
  526.         # Haiku
  527.         '42465331-3ba3-10f1-802a-4861696b7521')
  528.             echo 'Haiku BFS'
  529.             ;;
  530.  
  531.         # MidnightBSD
  532.         '85d5e45a-237c-11e1-b4b3-e89a8f7fc3a7')
  533.             echo 'MidnightBSD data'
  534.             ;;
  535.         '85d5e45e-237c-11e1-b4b3-e89a8f7fc3a7')
  536.             echo 'MidnightBSD boot'
  537.             ;;
  538.         '85d5e45b-237c-11e1-b4b3-e89a8f7fc3a7')
  539.             echo 'MidnightBSD swap'
  540.             ;;
  541.         '0394ef8b-237c-11e1-b4b3-e89a8f7fc3a7')
  542.             echo 'MidnightBSD UFS'
  543.             ;;
  544.         '0394ef8b-237e-11e1-b4b3-e89a8f7fc3a7')
  545.             echo 'MidnightBSD UFS'
  546.             ;;
  547.         '85d5e45d-237c-11e1-b4b3-e89a8f7fc3a7')
  548.             echo 'MidnightBSD ZFS'
  549.             ;;
  550.         '85d5e45c-237c-11e1-b4b3-e89a8f7fc3a7')
  551.             echo 'MidnightBSD Vinum'
  552.             ;;
  553.  
  554.         # Ceph
  555.         'bfbfafe7-a34f-448a-9a5b-6213eb736c22')
  556.             echo 'Ceph Journal'
  557.             ;;
  558.         '45b0969e-9b03-4f30-b4c6-5ec00ceff106')
  559.             echo 'Ceph dm-crypt Encrypted Journal'
  560.             ;;
  561.         '4fbd7e29-9d25-41b8-afd0-062c0ceff05d')
  562.             echo 'Ceph OSD'
  563.             ;;
  564.         '4fbd7e29-9d25-41b8-afd0-5ec00ceff05d')
  565.             echo 'Ceph dm-crypt OSD'
  566.             ;;
  567.         '89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be')
  568.             echo 'Ceph disk in creation'
  569.             ;;
  570.         '89c57f98-2fe5-4dc0-89c1-5ec00ceff2be')
  571.             echo 'Ceph dm-crypt disk in creation'
  572.             ;;
  573.         *)
  574.         # Note: DO NOT use the 0xffff code; that's reserved to indicate an
  575.         # unknown GUID type code.
  576.             echo "${1}"
  577.             ;;
  578.     esac
  579. }
  580.  
  581. get_part_param()
  582. {
  583.     sed -n "/^${1}=/{s/^${1}=//; p}" | sed "s/'//g"
  584. }
  585.  
  586. get_part_info()
  587. {
  588.     local TEMP
  589.  
  590.     local NAME
  591.     local MOUNTPOINT
  592.     local RM
  593.     local SIZE
  594.     local ROTA
  595.     local TRAN
  596.  
  597.     local ID_PART_ENTRY_TYPE
  598.     local PART_TABLE_TYPE_NAME
  599.  
  600.     local ID_PART_ENTRY_NAME
  601.     local ID_FS_LABEL
  602.  
  603.     local DEVTYPE
  604.     local ID_USB_DRIVER
  605.  
  606.     local ID_PART_ENTRY_FLAGS
  607.  
  608.     lsblk -ndaro NAME,MOUNTPOINT,RM,SIZE,ROTA,TRAN "${1}" | tr ' ' '\r' |
  609.     while IFS=$'\r' read -r NAME MOUNTPOINT RM SIZE ROTA TRAN
  610.     do
  611.         [[ -n "${NAME}" ]] && echo -e "NAME='${NAME}'"
  612.         [[ -n "${MOUNTPOINT}" ]] && echo -e "MOUNTPOINT='${MOUNTPOINT}'"
  613.         [[ -n "${RM}" ]] && echo -e "RM='${RM}'"
  614.         [[ -n "${SIZE}" ]] && echo -e "SIZE='${SIZE}'"
  615.         [[ -n "${ROTA}" ]] && echo -e "ROTA='${ROTA}'"
  616.         [[ -n "${TRAN}" ]] && echo -e "TRAN='${TRAN}'"
  617.  
  618. #       PART_INFO="$(udevadm info --query=property -x --name="${NAME}")"
  619. #       PART_INFO="$(echo -e "${PART_INFO}" | sed '
  620.         PART_INFO="$(udevadm info --query=property -x --name="${NAME}" | sed '
  621. s/ \{1,\}/ /g;
  622. s/^[ \t]*//;
  623. s/[ \t]*$//;
  624. ')"
  625.  
  626.         ID_PART_ENTRY_TYPE="$(get_part_param 'ID_PART_ENTRY_TYPE' <<< "${PART_INFO}")"
  627.         PART_TABLE_TYPE_NAME="$(get_part_txt "${ID_PART_ENTRY_TYPE}")"
  628.         [[ -n "${PART_TABLE_TYPE_NAME}" ]] && echo "PART_TABLE_TYPE_NAME='${PART_TABLE_TYPE_NAME}'"
  629.  
  630.         ID_USB_DRIVER="$(get_part_param 'ID_USB_DRIVER' <<< "${PART_INFO}")"
  631.         if [[ "${ROTA}" == '0' ]]
  632.         then
  633.             echo "IS_SSD='1'"
  634.         elif [[ "${RM}" == '1' ]] && [[ "${ID_USB_DRIVER}" == 'usb-storage' ]]
  635.         then
  636.             echo "IS_SSD='1'"
  637.         fi
  638.  
  639.         ID_PART_ENTRY_FLAGS="$(get_part_param 'ID_PART_ENTRY_FLAGS' <<< "${PART_INFO}")"
  640.         if [[ "${ID_PART_ENTRY_FLAGS}" == '0x8000000000000000' ]] || [[ "${ID_PART_ENTRY_FLAGS}" == '0x80' ]] || [[ "${ID_PART_ENTRY_TYPE}" == '21686148-6449-6e6f-744e-656564454649' ]]
  641.         then
  642.             echo "BOOT_BIOS='*b'"
  643.         fi
  644.         if [[ "${ID_PART_ENTRY_TYPE}" == 'c12a7328-f81f-11d2-ba4b-00a0c93ec93b' ]] || [[ "${ID_PART_ENTRY_TYPE}" == '0xef' ]]
  645.         then
  646.             echo "BOOT_EFI='*e'"
  647.         fi
  648.  
  649.  
  650. #       ID_FS_LABEL="$(get_part_param 'ID_FS_LABEL' <<< "${PART_INFO}")"
  651. #       if [[ ! -n "${ID_FS_LABEL}" ]]
  652. #       then
  653. #           ID_PART_ENTRY_NAME="$(get_part_param 'ID_PART_ENTRY_NAME' <<< "${PART_INFO}")"
  654. #           ID_FS_LABEL="${ID_PART_ENTRY_NAME}"
  655. #           [[ -n "${ID_FS_LABEL}" ]] && echo "ID_FS_LABEL='${ID_PART_ENTRY_NAME}'"
  656. #       fi
  657.  
  658.         echo "${PART_INFO}"
  659.     done
  660. }
  661.  
  662. lsblk -naro NAME | tr ' ' '\r' |
  663. while IFS=$'\r' read -r NAME
  664. do
  665.     PART_INFO="$(get_part_info "/dev/${NAME}")"
  666.     echo "${PART_INFO}"
  667. #   echo "NAME=$(get_part_param 'NAME' <<< "${PART_INFO}")"
  668. #   echo "ID_PART_ENTRY_NAME=$(get_part_param 'ID_PART_ENTRY_NAME' <<< "${PART_INFO}")"
  669. #   echo "ID_FS_LABEL=$(get_part_param 'ID_FS_LABEL' <<< "${PART_INFO}")"
  670. #
  671.     echo '-----------------'
  672. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement